TGViewer
| کانال توسعه‌دهندگان PHP | | کانال توسعه‌دهندگان PHP | @developixphp · 1.68K subscribers
Post #42 776
در PHP، مفهوم variable variables یا متغیرهای متغیر به امکان تعریف و استفاده از متغیرهایی اشاره دارد که نام آن‌ها از مقدار یک متغیر دیگر تعیین می‌شود. این به شما امکان می‌دهد تا در زمان اجرا نام متغیرها را مشخص کنید.

  $Hello = "World";
$a = "Hello";

echo $a; // Hello
echo $$a; // World


در مثال یک متغیر به نام $Hello ایجاد شده و به آن رشته World اختصاص داده شده است. همچنین یک متغیر به نام $a ایجاد شده و به آن رشته Hello اختصاص داده شده است.
زمانی که از یک علامت $ استفاده کرده ایم مقدار متغییر $a نمایش داده میشود اما زمانی که از دو علامت $ استفاده شده به معنای متغیری است که نام آن برابر با مقدار $a است.
مقدار $a برابر Hello است، بنابراین $$a معادل با $Hello می‌شود. و مقدار $Hello برابر World است.

مثال :
فرض
کنید می‌خواهید یک سری متغیر با نام‌های متمایزی ایجاد کنید، اما نام آنها را از یک آرایه بگیرید. اینجاست که متغیرهای متغیر به کمک می‌آیند:
$variable_names = array("var1", "var2", "var3");
foreach ($variable_names as $name) {
$$name = rand(1, 100);
}

echo $var1;
echo $var2;
echo $var3;


در این مثال، ابتدا یک آرایه با نام‌های متغیرها ایجاد می‌شود. سپس با استفاده از حلقه foreach، برای هر نام متغیر در آرایه، یک متغیر با همان نام ایجاد می‌شود و به آن یک مقدار تصادفی از ۱ تا ۱۰۰ اختصاص داده می‌شود. در نهایت، مقادیر متغیرها با استفاده از نام آنها نمایش داده می‌شود.

شما می توانید به هر تعداد دلخواه $ در php قرار دهید (بر خلاف زندگی عادی):
echo $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$dontTryThisAtHome;


مثال:
  $Bar = "a";
$Foo = "Bar";
$World = "Foo";
$Hello = "World";
$a = "Hello";

$a; //Returns Hello
$$a; //Returns World
$$$a; //Returns Foo
$$$$a; //Returns Bar
$$$$$a; //Returns a

$$$$$$a; //Returns Hello
$$$$$$$a; //Returns World

//... and so on ...//


و حتی به صورت زیر:
$nameTypes    = array("first", "last", "company");
$name_first = "John";
$name_last = "Doe";
$name_company = "PHP";

foreach($nameTypes as $type)
print ${"name_$type"} . "\n";

print "$name_first\n$name_last\n$name_company\n";


با این حال در برخی موارد مانند Superglobal array ها مانند $_SERVER و متغیر $this که از متغیر های خاص هستند این قابلیت غیرقابل استفاده می باشد.

👤 AmirHossein

💎 Channel: @DevelopixPHP
  • ❤ 6
  • 👍 3
  • 🔥 2
More from @developixphp
  1. Sep 26, 2026این کد موقع اجرا چه خروجی‌ای می‌ده و مشکلش کجاست؟ 🔖 #PHP #پی_اچ_پی 👤 Developix 💎 Channe…
  2. Sep 25, 2026🔥 پکیج: قراردادهای ترجمه سیمفونی اگر کد PHP را برای چندزبانگی می‌نویسید، بهتر است منطق بر…
  3. Sep 16, 2026🚀 ‏LaraGram Brain منتشر شد! از این به بعد برای ساخت ربات‌های تلگرام با فریم‌ورک LaraG…
  4. Sep 11, 2026ارسال ایمیل تأیید ثبت‌نام، بازیابی رمز عبور یا نوتیفیکیشن سفارش، تقریباً توی هر پروژه‌ PHP…
  5. Sep 10, 2026برنامه نویسی سوکت در PHP بخش اول عبارت دیگر در ارتباط های غیر سوکت برای ارسال یک پالس از س…
  6. Aug 31, 2026🔥 پکیج: استاندارد PSR-11 برای Container استاندارد PSR-11 فقط یه interface مشترک برای Cont…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →