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