آموزش متغیرهای $ و $$ در پی اچ پی

در این مطلب متغیرهای $ و $$ در پی اچ پی را به زبان ساده آموزش می دهیم.
تفاوت های بین var$ و var$$ در php
در پی اچ پی var$$ از مقدار متغیری استفاده می کند که نام آن، مقدار var$ می باشد. این بدان معنی است که var$$ به عنوان متغیر مرجع شناخته می شود که در آن var$ متغیر معمولی است. این به شما اجازه می دهد که یک “متغیرِ متغیر” داشته باشید – برنامه همان طریقی که هر رشته دیگری را ایجاد می نماید؛ می تواند نام متغیر را به وجود آورد.
۱- برای مثال – PHP$ و PHP$$
”;
echo $name.”
”;echo $Rajeev;
?>
خروجی به صورت زیر می باشد:
Rajeev
Sanjeev
Sanjeev
در مثال بالا، name$ متغیری است که مقدار رشته آن “Rajeev” می باشد؛ name$$ متغیر مرجع می باشد.
name$$ مقدار متغیری را استفاده می کند که نام آن مقدار name$ می باشد.
عبارت echo $name مقدار Rajeev را چاپ می کند؛ همچنین عبارت echo $$name مقدار Sanjeev را پرینت می کند. (مقدار این متغیر (name$) به عنوان مرجع متغیر دوم (name$$) رفتار می کند).
عبارت echo $rajeev مقدار Sanjeev را چاپ می کند. در این جا Rajeev$ نیز به عنوان مرجع متغیر رفتار می کند.
مثال۲
”;
echo $x.”
”;echo “$100”;
?>
خروجی کد بالا به صورت زیر است:
۱۰۰
۲۰۰
۲۰۰
در مثال بالا، شما ابتدا مقدار یک متغیر (x$) را به عنوان نام یک متغیر دیگر تخصیص می دهد.
زمانی که شما مقدار x$ را تنظیم کردید؛ نام متغیر با مقدار متغیری که ارائه می دهید؛ جایگزین می شود.
متغیر x$ مقدار ۱۰۰ را اتخاذ می کند.
x$$ (متغیر مرجع) مقدار ۲۰۰ را اتخاذ می کند. اکنون می خواهیم مقدار را چاپ بکنیم.
خروجی عبارت echo $x برابر ۱۰۰ می باشد.
خروجی عبارت echo $$x برابر ۲۰۰ می باشد.
خروجی عبارت ۱۰۰$ برابر ۲۰۰ می باشد. زیرا این عبارت مانند متغیر مرجع برای مقدار ۲۰۰ = می باشد.
مثال۳
”;
echo ${$name}.”
”;echo “$Rajeev”.”
”;?>
خروجی کد بالا به صورت زیر می باشد:
Rajeev Sanjeev Sanjeev
مثال۴
خروجی کد نویسی بالا به صورت زیر است:
Ravi
Ranjan
Rexx
در مثال بالا:
متغیر name$ مقدار “ravi”= را اتخاذ می کند.
متغیر {name$ }$ مدار “Ranjan” را اتخاذ کرده است. این امر همچنین به شکل {Ravi}$ نیز بیان می شود.
متغیر {{name}$ }$ مقدار “Rexx” را اتخاذ می نماید. که به شکل مرجع متغیرِ متغیرِ یک متغیر رفتار می کند.
خروجی عبارت echo $name عبارت ravi می باشد.
خروجی عبارت { $name }$ برابر Ranjan است.
عبارت { $ {$name} }$ برابر Rexx می باشد.
نکات طلایی و خلاصه آموزش متغیرهای $ و $$ در PHP
-
مفهوم متغیرِ متغیر (Variable Variables): علامت
$متغیر معمولی است، در حالی که$$به عنوان متغیرِ متغیر (یا متغیر مرجع) شناخته میشود. این ویژگی به شما اجازه میدهد تا نام یک متغیر را به صورت پویا و از روی مقدار یک متغیر دیگر بسازید. -
نحوه کارکرد (
$$): هنگامی که از$$varاستفاده میکنید، PHP ابتدا مقدار1$varرا ارزیابی میکند و از آن نتیجه به عنوان نام متغیر دوم بهره میبرد. به زبان ساده، مقدار متغیر اول تبدیل به نام متغیر دوم میشود. -
استفاده از آکولاد
{}برای خوانایی و دقت بیشتر: هنگام کار با متغیرهای پویا و چندلایه (مانند$$یا$$$)، استفاده از آکولاد به صورت${$var}یا${$name}کمک میکند تا ابهامات ساختاری رفع شده و مفسر PHP نام متغیرها را به درستی تشخیص دهد. -
زنجیرهسازی متغیرها (چندلایه): شما حتی میتوانید این مفهوم را چند مرحله ادامه دهید (مانند
${${$name}}). در این حالت، هر مرحله به عنوان یک مرجع پویا برای مرحله بعد عمل کرده و زنجیرهای از نامهای متغیر را تولید میکند. -
احتیاط در استفاده: اگرچه متغیرهای متغیر امکانات قدرتمندی برای تولید کدهای پویا فراهم میکنند، اما استفاده بیش از حد از آنها میتواند خوانایی کد را بهشدت کاهش دهد و درک و دیباگ کردن برنامهها را برای توسعهدهندگان دشوار کند.
