2016-09-28 67 views
1

美好的一天,PHP,如何使用一個字符作爲變量名?

我目前正試圖弄清楚如何使用存儲在變量中的字符來通過名稱調用另一個變量。例如:

$string = "ABCD"; 
$A = 10; 
echo //Here I want to get $string[0]'s value, which will be A, then echo the value of the variable named after $string[0]'s value, $A. So in other words the output of the echo should be 10. 

讓我知道,如果我不清楚的問題。

+5

'回聲$ {$字符串[0]};'? – Darren

+0

echo $$ string [0] – verhie

+2

該邏輯被稱爲變量_的變量_variant,並且@Darren在這裏是正確的。 –

回答

1

回聲您應該參考PHP Variable variables做一個$arr1 = str_split($str);獲得字符數組,然後。

變量變量接受一個變量的值並將其視爲變量的名稱。

嘗試其中之一:

$string = "ABCD"; 

echo ${$string[0]}; // 10 
echo $$string[0]; // 10 
+0

非常感謝!太棒了。我試過使用變量變量,但沒有打印出任何東西。我意識到這是因爲我默認所有的變量爲false。 – NodziGames

0

你可以基於該陣列上做這樣的echo "$$arr1[0]"

1

歡迎SO,

按照您的詢問讓我知道,如果我不是對這個問題不夠清楚。,我喜歡這個,因爲你是這個網站的新手。現在讓我們去現場。

您有一個變量:$string = "ABCD";,另一個是$A = 10;$B = 10;等。

你真正想知道的是如何使用$string值得到相同的值

解決方案:
這背後的邏輯被稱爲variables.variable,讓您使用字符串的索引。

$string = "ABCD"; // your variable 
$A = 10;   // your another variable 
$B = 10;   // may your another variable 

現在,讓$string[0],在這些變量中,我們有一個值,該值是A,因此,如果我們這個值之前把$ sign,然後會發生什麼?這將創建一個新變量,如果你回顯它,你會得到這個新創建的變量的值,如果該變量有一個值。

只要做到這一點:echo ${$string[0]}; // 10

相關問題