2012-07-13 129 views
3

對不起,對於初學者的問題。
我搜索了一個小時了,只能找到有關在while循環中添加1個key =>值的信息。 我正在瞄準這個結果。謝謝將值添加到MySQL中while循環中的數組結果

$menu = array( 
    '1' => array('id' => 1, 'parentid' => 0, 'title' => 'Apple'), 
    '2' => array('id' => 2, 'parentid' => 0, 'title' => 'Banana'), 
    '3' => array('id' => 3, 'parentid' => 0, 'title' => 'Tangerine'), 
    '4' => array('id' => 4, 'parentid' => 3, 'title' => 'Pear') 
); 


我試過很多東西,但這似乎是最接近的。

$menu = array(); 
while($row = mysql_fetch_array($query)) { 
    $menu[] = $row['id'] ; 
    $menu[] = $row['parentid'] ; 
    $menu[] = $row['title']; 
} 

回答

20

啊,看起來像你想要的東西,喜歡用"key" => "value"創建

$menu = array(); 
while ($row = mysql_fetch_array($query)) { 
    $menu[] = array(
     "id" => $row['id'], 
     "parentid" => $row['parentid'], 
     "title" => $row['title'] 
    ); 
} 

關聯數組鍵。


編輯

題外話了一點,但我強烈建議學習PDO爲您查詢。學習起來非常簡單,並且有很多優點 - 安全性和靈活性是最重要的 - 並且真正將腳本提升到一個新的水平。

+0

感謝您的迅速反應。唯一的問題是這將數組放入數組中。所以現在我有:Array([0] => Array([categoryid] => 160 [catparentid] => 93 [catname] => Cables)[1] => Array([categoryid] => 136 [catparentid] = > 98 [catname] =>持有者)[2] =>數組(等等......我可以得到它,所以它只是一個數組的值?乾杯! – jason3w 2012-07-13 00:27:58

+1

但是...這正是你所說的你想要的。 )無論如何,不​​可以,一個數組中的所有值都是使用關聯關鍵字引用的,因爲在處理每個新關鍵字時,這些值將被覆蓋,即「'id」=> 56'將被替換爲' 「id」=> 57'等等,最後你將有一個帶有三個聯合鍵的數組,並保存最後一組值。或者,如果你將所有的值轉儲到一個沒有聯合鍵的數組中,會有一大堆無組織的價值 - 也不好:) – Ben 2012-07-13 00:28:16

+0

對不起。完全忽略了這一點。你是對的,這就是我要求的!抱歉。 1.5個月,我仍然得到基本排序。再次感謝! – jason3w 2012-07-13 00:38:54

3

您只需添加一個新陣列作爲$menu陣列的元素值。

$menu = array(); 
while($row = mysql_fetch_array($query)) { 
    $menu[] = array(
     'id' => $row['id'], 
     'parentid' => $row['parentid'], 
     'title' => $row['title'] 
    ); 
} 
var_dump($menu); 

編輯:如何遍歷數組(基本上這是PHP 101,所以我建議找了PHP arrays

foreach($menu as $index => $record){ 
    echo "ID: {$record['id']} ParentID: {$record['parentid']} Title: {$record['title']}"; 
} 
+1

哈哈差2秒!如果這是一場槍戰,我會死的。 – Ben 2012-07-13 00:14:49

+0

錯過了。添加。謝謝。 – brezanac 2012-07-13 00:17:48

+0

感謝您的快速響應。唯一的問題是這將數組放入數組中。所以現在我有:Array([0] => Array([categoryid] => 160 [catparentid] => 93 [catname] => Cables)[1] => Array([categoryid] => 136 [catparentid] = > 98 [catname] => Holders)[2] =>數組(等...我可以得到它,所以它只是一個數組的值?乾杯! – jason3w 2012-07-13 00:22:25

相關問題