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