2014-03-25 60 views
0

我想刪除一個數組,其中的關鍵是[ITEM_ID]搜索值錯誤刪除基於鍵值對

我需要刪除整個陣列子陣列,但我做不到。

Array 
    (
     [0] => Array 
      (
       [ITEM_ID] => 4 
       [ITEM_MODEL] => BASIC Armario 
       [ITEM_FABRICANTE] => 1 
       [ITEM_COLOR] => Wenge 
       [ITEM_QUANTITY] => 1 
      ) 

     [1] => Array 
      (
       [ITEM_ID] => 8 
       [ITEM_MODEL] => Armario 2 Puertas 
       [ITEM_FABRICANTE] => 1 
       [ITEM_COLOR] => Roble 
       [ITEM_QUANTITY] => 1 
      ) 

    ) 

我試圖用這個代碼:

$array = array("ITEM_ID" => "4"); 
print_r($array); 

unset($array['ITEM_ID']); 
print_r($array); 

回答

1

您將通過陣列並取消設置適當的子陣列具有循環:

// begin looping 
foreach($array as $key=>$value) 
{ 
    // check if ITEM_ID is 4 
    if($value['ITEM_ID'] == '4') 
    { 
     // unset the array item using the $key 
     unset($array[$key]); 
     // stop the loop 
     break; 
    } 
} 
+0

注意,這將保留項目的鍵未被刪除。要重置鍵的順序,你可以在'for'循環外執行'$ array = array_values($ array);'。 –

+0

@DissidentRage你是對的,但爲什麼會造成更多的處理開銷,如果它不是必需的? – MonkeyZeus

+0

我只是提供這個作爲一個註釋*如果*有必要按鍵順序。現在可能不需要,但它有助於瞭解參考。 –