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

Unsetting a Reference Safely فك ارتباط المرجع بـ unset دون مسح المتغير الأصلي

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

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

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

استدعاء unset() على متغير مربوط بالمرجع يفك الارتباط بين هذا الاسم والقيمة فقط، ولا يمسح المتغيرات الأخرى التي ما زالت تشير لنفس القيمة.

  • تنفيذ unset($alias) يفصل الاسم $alias فقط بينما يحتفظ المتغير الأصلي $original بقيمته كاملة.
  • على العكس، كتابة $alias = null تستبدل القيمة المشتركة فتتحول قيمة كل من $alias و$original إلى null!
  • استخدم دائماً unset($ref) لفك ارتباط أي متغير مرجعي فور الانتهاء من استخدامه.

حذف المرجع $editorAlias عبر unset() يزيل الاسم المستعار فقط، ويحتفظ $primaryTitle بالنص "CloseTag PHP Track" كاملاً.

PHP
<?php
$primaryTitle = "CloseTag PHP Track";
$editorAlias = &$primaryTitle;

unset($editorAlias);
echo "After unset: $primaryTitle\n";
var_dump(isset($editorAlias));