انتقل إلى محتوى الدرس

Destroying Variables with unset إلغاء تعريف المتغيرات وتحريرها عبر unset

افحص حالة المتغيرات بدقة في PHP 8 باستخدام isset وempty وis_null وunset، وافهم الفرق العميق بين النسخ بالقيمة والإسناد بالمرجع.
1 صفوف تعليمية
PHP
0 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

تقوم البنية unset() بحذف اسم المتغير من جدول الرموز الحالي بحيث يعود غير معرّف وتُرجع isset() عليه false.

  • يمكنك إلغاء متغير واحد أو عدة متغيرات في تعليمة واحدة: unset($tempToken, $rawBuffer);.
  • لا تُرجع unset() أي قيمة؛ ومحاولة إسناد ناتجها لمتغير آخر تسبب خطأً نحوياً.
  • بعد تنفيذ unset()، قراءة المتغير مباشرة تطلق تحذيراً إلا إذا استُخدم مع isset() أو معامل ??.

بعد أن تحذف unset($apiToken, $cacheKey) المتغيرين، تصبح نتيجة isset($apiToken) هي false، ويعود معامل ?? للقيمة البديلة بأمان.

PHP
<?php
$apiToken = "tok_live_98a7bc";
$cacheKey = "user_profile_42";

var_dump(isset($apiToken));
unset($apiToken, $cacheKey);
var_dump(isset($apiToken));

$safeToken = $apiToken ?? "expired_token";
echo $safeToken . "\n";