2015-05-28 59 views
2

我使用這行代碼的數組:可變變量不能按預期,並創造

$var{++$counter} = $results['row']; 

我已經創建這些變量的目標進行設置:

$var1 = row 1 
$var2 = row 2 
$var3 = row 3 

爲什麼它爲$var創建了一個數組?而不是隻定義三個變量?

+0

什麼是你的問題? – Rizier123

+0

它在代碼下面和標題中陳述了我的問題....爲什麼它爲$ var創建一個數組而不是僅僅定義變量。 – KDJ

+2

這樣做:'$ {「var」。++ $ counter} = $ results ['row'];' – Daan

回答

4

很簡單,因爲{}也可以用於訪問數組作爲可以從manual讀:

注: 兩個方括號和大括號可以互換使用,用於訪問數組元素(例如$ array [42]和$ array {42}都會在上面的例子中做同樣的事情)。

意味着以下兩行是相同的:

$var{++$counter} 
$var[++$counter] 

你想要的是variable variables,這將是這樣的:

${"var" . ++$counter} = $results['row'];