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

Assigning by Reference with Ampersand الإسناد بالمرجع عبر الرمز & وفك الارتباط بـ unset

اكتب النصوص متعددة الأسطر بصيغتي Heredoc وNowdoc المرنتين في PHP 8، وأتقن الفرق بين إسناد المتغيرات بالقيمة وبالإشارة المرجعية.
1 صفوف تعليمية
PHP
0 مشاهدة

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

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

وضع رمز العطف & بعد علامة المساواة ($alias = &$source) يربط اسمي المتغيرين بنفس حاوية القيمة النصية أو الرقمية في الذاكرة.

  • أي دمج نصي (.=) أو إعادة إسناد عبر الاسم المرجعي يعدّل المتغير الأصلي على الفور.
  • استخدم unset($alias) لقطع رابط المرجع عندما لا ترغب في انتقال التعديلات اللاحقة.
  • تجنب استخدام المراجع غير الضرورية مع النصوص العادية؛ لأن ميزة Copy-on-Write في PHP توفر الذاكرة تلقائياً.

الإلحاق النصي بالمتغير $activeStream يعدّل $logBuffer مباشرة لأنهما يشيران لنفس النص، ثم تقوم unset($activeStream) بفصل الاسم المستعار.

PHP
<?php
$logBuffer = "[INIT] Server ready";
$activeStream = &$logBuffer;
$activeStream .= " | [OK] Connected";

unset($activeStream);
echo $logBuffer . "\n";