2014-03-05 157 views
1

有什麼可能使這種使用PHP的東西?如何設置變量爲字符串?

<?php 

$number = 1; 

$str_$number = "BlahBlah"; 

// and make this: $str_1 = "BlahBlah"; 

echo $str_1; 

?> 
+0

你不使用陣列的任何原因? – Populus

+2

,因爲他不想要一個數組,他想要動態變量名。這部分看起來很清楚? –

+0

是的,動態變量名稱。 –

回答

2
<?php 
$number = 1; 
${'str_'.$number} = 'foobar'; 
echo $str_1;//foobar 
+0

是的,最有效率的。 –

+0

像一個魅力工作,謝謝! –

1

嘗試

<?php 
$number = 1; 
${'str_' . $number} = 'foobar'; 
?> 
+0

不似乎工作,如果我嘗試echo $ str_1,我得到一個空白頁:( –

+0

不在這裏工作。 – Ultimater

+0

當然它不會。即使大括號存在變量名稱,他們必須從美元符號不解析錯誤,像'$ {$ number}' –

1
<?php 
$number = 1; 
$value = 'str_' . $number; 
$$value = 'blahblah'; 
echo $str_1; 
?> 
+0

Felix很好,雖然可能值得注意的是$$使變量值變成一個變量。他想要的只是它是如何完成的,值得注意的是我認爲... –

0

您也可以嘗試

$number = 1; 
eval('$str_'.$number.' = "foobar";'); 
echo $str_1; 
+0

哦,很好的黑客。不知道'eval()'。風險雖然.. –

+1

是的,它是有風險的,我只是說這是另一種方式;因爲在這種特定情況下,它不會從_GET,_POS T等等,這就是爲什麼他也可以試試這個。 – Javad