2016-03-09 63 views
2

我不知道這是否可能,如果是我不知道它是什麼名稱,所以我不知道在網上搜索什麼,但我很想知道如果可能的話(我實際上不會使用此代碼,我只是想知道,如果這是可以做到)用其他變量名替換變量名

假設我們有3個變量:

$var_1 = "A"; 
$var_2 = "B"; 
$var_3 = "C"; 

是否有可能做像這樣的東西(我知道這個特殊的代碼不起作用,我試過):

$arr = array(); 
for ($i = 1; $i <= 3; $i++) 
{ 
    $arr[] = $var_{$i}; 
} 
var_dump($arr); 

這樣{$i}成爲變量名的一部分?

回答

3

當然!

$arr[] = ${"var_$i"}; 

輸出

Array 
(
    [0] => A 
    [1] => B 
    [2] => C 
) 

Fiddle

呵呵,這個概念叫做Variable Variables

+0

我會將這一個標記爲接受的答案(在5分鐘內,當它讓我),因爲您也向我提供了概念的名稱。謝謝! – Skytiger

1

您有以下方式來使用:

<?php 
$var_1 = "A"; 
$var_2 = "B"; 
$var_3 = "C"; 

//$arr = array(); // no need to declare this as an array 
for ($i = 1; $i <= 3; $i++) 
{ 
$arr[] = ${"var_".$i}; 

} 
var_dump($arr); 

?>