PDA

View Full Version : سوال: تعریف متغیر متغیر



remino
یک شنبه 15 دی 1392, 23:18 عصر
دوستان میشه بگید متغیر متغیر چیه؟

trasilver
یک شنبه 15 دی 1392, 23:23 عصر
دقیقا منظورتون چی هست؟
این که مثلا یه مقدار رو به اسم یک متغیر تبدیل کنید؟
مثلا یه جا دارید مقدار abc و شما می خواهید این مقدار رو به یه متغیر تغییر بدید یعنی $abc ؟
دقیقا چه چیزی می خواید؟

remino
یک شنبه 15 دی 1392, 23:29 عصر
فکر میکنم همینی هست که شما میگید
دارم از روی کتابی میخونم رسیدم به این بخش
اگر امکانش هست کاربردش رو هم برام بگید ممنون میشم

trasilver
یک شنبه 15 دی 1392, 23:58 عصر
ببینید شما مثلا می خواید اسم یک متغیر رو تغییر بدید یا خلاصه هر کجا یه کاربرد داره که من خودم بیشتر توی for و while استفاده می کنم.
به مثال زیر توجه کنید:

<?php
$one_name = 'mohammad';
$two_name = 'reza';
$i = 1;
while($i <= 2){
$number = ($i == 1 ? 'one' :'two');
$name = "$number"."_name";
$name = $$name;
echo $name;
echo '<br \>';
$i+=1;
}
?>
خروجی:
mohammad
reza
یه مثال ساده.

Tarragon
دوشنبه 16 دی 1392, 06:14 صبح
سلام
شاید این یه مثال ساده تر باشه [شاید]:

<?php
$example = "barnamenevis";
$$example = "irannahad";
echo $barnamenevis;

MMSHFE
دوشنبه 16 دی 1392, 13:50 عصر
Variable Variable یک ویژگی خوب در PHP هست که به شما اجازه میده اسم متغیر رو هم متغیر کنید (بهش قابلیت تغییر بدین). برای مثال:


$fname = 'ali';
$lname = 'mohseni';
$father = 'hamid';
$grade = 17.5;
$names = array('fname', 'lname', 'father', 'grade');
foreach($names as $name) {
echo '<p>' . $$name . '</p>' . PHP_EOL;
}
/* output:
ali
mohseni
hamid
17.5
*/



در اینجا، وقتی میگیم name$$ یعنی اینکه اول name$ تفسیر میشه و مقدارش بدست میاد (مثلاً fname و lname و...) و بعد، یک $ دیگه پشتش هست که باعث میشه تبدیل بشه به fname$ و lname$ و... و درنهایت مقدار هرکدوم چاپ بشه.