2010-05-27 194 views
3

我得到的100-200規則的代碼製作一個表格。但整個過程都是一樣的。 我得到了一個變量$ xm3,然後我做了一列。下一行,我得到了$ xm2並創建了列。下一行,我得到了$ xm1並製作專欄。PHP for循環的變量名

所以我的變量要$ XM3,$ XM2,$ XM1,$ xm0,$ XP1,XP2 $,$ XP3。

有沒有辦法做一個for循環,所以我可以填補$ XM和for循環後的值?

+0

能否請您發表您的代碼,以便我們可以得到你想要達到什麼更好的主意。謝謝。 – 2010-05-27 15:48:41

+3

您可以像$ x ['m'] [2]'那樣訪問的數組聽起來更合理。 – VolkerK 2010-05-27 15:50:13

回答

0

爲此,您可以使用可變的變量,但通常你最好做這樣的事情在一個數組來代替。

如果你是積極的,你想這樣做,這樣一來,如果「Y」是你的計數器在for循環的價值:

${'xm' . $y} = $someValue; 
+1

我不認爲你可以用'$$ var'以外的任何其他方式使用變量變量。 – Tgr 2010-05-27 15:53:02

+1

這更直接地回答了這個問題,但作爲開發人員,我強烈建議您選擇其他人建議的數組方法。 – AvatarKava 2010-05-27 15:53:43

+2

@Tgr - 更新語法我張貼應該工作 - 沒有任何一個好主意,雖然:) – AvatarKava 2010-05-27 15:55:09

1

據我所知,使用不同的變量名不可能。

foreach($xm as $v) { echo $v; } 

編輯:只是一派,這是可能的,如果你使用數組,從而下面

$xm[3] = ""; 
$xm[2] = ""; 
$xm[1] = ""; 
$xm[0] = ""; 

或只是$xm[] = "";

然後你可以使用每個循環

然而使用變量名稱,但被認爲是不好的做法。學習和使用數組!

+1

可變變量(如已知的)確實有一些用途。但我同意用它們來模擬類似數組的行爲不是其中之一。 – 2010-05-27 15:58:47

+0

你想什麼時候使用它們?只是出於興趣? – 2010-05-27 18:36:18

2

這是不完全清楚你的要求,但你可以在PHP做

$xm = 'xm3'; 
$$xm // same as $xm3 

,這樣你就可以通過具有類似名稱的變量循環。 (這並不意味着你應該。使用數組通常是一個更好的選擇。)

3

在這種結構中,你會更好使用這類值的數組,但如果你想一環通過他們去:

for($i = 0; $i <= 3; $i++) { 
    $var = 'xm' . $i 
    $$var; //make column stuff, first time this will be xm0, then xm1, etc. 

} 
0

您可以輕鬆地做這樣的事情:

$base_variable = 'xm'; 

,然後你可以做一個循環動態創建的變量; 例如:

for ($i=0; $i<10; $i++) 
{ 
    $def_variable = $base_variable . $i; 
    $$def_variable = 'value'; //this is equivalent to $xm0 = 'value' 
}