2013-05-08 43 views
-1

爲什麼以下代碼在顯式調用1時正確返回,但不是在for循環中調用時?在內部訪問PHP數組for循環

名稱:格蘭諾拉麥片價格:5.99
1名:價格:
2名:價格:

<?php 
     echo "name: " . $data[1][p_name]; 
     echo " price: " . $data[1][price] . "<br />"; 

     for ($i = 1; $i <= count($data); $i++) { 
      echo $i . " name: " . $data[i][p_name]; 
      echo " price: " . $data[i][price] . "<br />"; 
     } 
?> 
+0

你可能想要foreach而不是for。 – tyteen4a03 2013-05-08 00:19:34

+1

將數組字符串鍵放入引號(''price''而不是'price')。 – 2013-05-08 00:26:22

回答

2

的問題是,你使用$數據[I],而不是$數據[$ i]中。 PHP變量以$開頭。

+0

尷尬......謝謝。 – 2013-05-08 00:21:20

+0

我相信我們大多數人在任何情況下都沒有看到樹木的森林;) – gview 2013-05-08 00:25:35

+0

而在此時,還修復了'$ p_name'和'$ price'。 – 2013-05-08 00:25:44

1

因爲在循環中引用一個常量,i,而不是變量$i$data[i]應該是$data[$i]

+0

。 – 2013-05-08 01:05:04