2014-01-13 210 views
0

我無法找到任何答案,因此我目前沒有任何想法。手動將元素添加到提取數組的末尾

我有以下環路由陣列中的存儲,數據庫的資源獲取

$posts = array(); 
     while ($row = mysql_fetch_assoc($result)){ 
      $posts[] = $row; 
     } 

      return $posts; 

$postsvar_dump輸出以下:

array (size=1) 
    0 => 
    array (size=6) 
     0 => 
     array (size=4) 
      'items' => string '16' (length=2) 
      'item_name' => string 'Blu-ray Disc Player BDP-S1100' (length=29) 
      'item_price' => string '3500.00' (length=7) 
      'avatar' => string 'gallery/miniaturas/cf6772a2c2b72d575f11b41aee5a2f47.png' (length=55) 
     1 => 
     array (size=4) 
      'items' => string '16' (length=2) 
      'item_name' => string 'Blu-ray Disc Player BDP-S1100' (length=29) 
      'item_price' => string '3500.00' (length=7) 
      'avatar' => string 'gallery/miniaturas/a6bf82f38d930567a759eaef91d6fb30.png' (length=55) 

我想什麼做的是在每個陣列的末尾添加一個帶有「type」鍵值和「1」的靜態值,因此var_dump將如下所示:

array (size=1) 
    0 => 
    array (size=6) 
     0 => 
     array (size=4) 
      'items' => string '16' (length=2) 
      'item_name' => string 'Blu-ray Disc Player BDP-S1100' (length=29) 
      'item_price' => string '3500.00' (length=7) 
      'avatar' => string 'gallery/miniaturas/cf6772a2c2b72d575f11b41aee5a2f47.png' 
      'type' => int 1 
    (length=55) 
     1 => 
     array (size=4) 
      'items' => string '16' (length=2) 
      'item_name' => string 'Blu-ray Disc Player BDP-S1100' (length=29) 
      'item_price' => string '3500.00' (length=7) 
      'avatar' => string 'gallery/miniaturas/a6bf82f38d930567a759eaef91d6fb30.png' 
      'type' => int 1 
    (length=55) 

可能嗎?如果是這樣,怎麼樣?

謝謝。

回答

3

在追加它之前,只需修改$row即可。避免了額外的開銷

$posts = array(); 
while ($row = mysql_fetch_assoc($result)){ 
     $row['type'] = 1; 
     $posts[] = $row; 
} 
+0

這工作得很好!非常感謝 – DannyG

1

你應該能夠任意鍵,其值爲1這樣添加到陣列中:

$posts = array(); 
while ($row = mysql_fetch_assoc($result)){ 
     $posts[] = $row; 
     $posts[count($posts)-1]["type"] = 1; 
} 

return $posts; 

另外,如果您可以編輯您的SQL查詢,還可以添加1 as type到年底你選擇,然後你的數據庫將爲你添加額外的列。

+0

非常感謝您的回答,但@Machavity其中一個更精確,所以我把它扔了。然而,這也是工作。 – DannyG

0

這應該工作:

while ($row = mysql_fetch_assoc($result)){ 
    $posts[] = array_merge($row, array(
     'type' => 1, 
    )); 
} 

,或者,修改你的SQL查詢來自動添加字段:

$sql = 'SELECT *, 1 AS type FROM table'; 
相關問題