2011-08-14 30 views
2

我有這樣的:

echo 'm=>'.$fin_type_2; // echoes 'test text'; 

現在,如果我這樣做,我什麼也沒得到,而我期待與上述相同的結果。我在這裏做錯了什麼?

$z=2; 
echo 'm=>'.$fin_type_{$z}; // echoes nothing but m=> 

幫助感謝。 非常感謝。

回答

6

我會用這樣的:

$ { 'fin_type _' $ Z}

(除了PHP文件this page有時順手拿)

6

您應該使用arrays(數字和關聯)來實現您的目標。

+5

+1。其他答案解決了問題,但變量變量名通常是一個壞主意;沒有像eval()那麼糟糕,只是緊隨其後。這絕對看起來就像一個數組將會是一個更簡單更安全的解決方案的情況。 – Spudley

1

恐怕最接近你可以得到的是

<?php 
$fin_type_2 = 'test text'; 
$z = 2; 
$v = "fin_type_$z"; 
echo 'm=>'.$v; 

如何在應用這樣的變量之前,請三思。也許使用數組會更適合你的情況?

<?php 
$fin_type = array(); 
$fin_type[2] = 'test text'; 

$z = 2; 
echo "m=>{$fin_type[$z]}"; 
+0

感謝Mchl。下次我會考慮陣列。直到現在,我正在使用通過while循環的$ i值。 –