2016-04-15 21 views
0

值的任何數組功能這是我的總陣列提供PHP

Array ([0] => Array ([food_name] => Chicken Briyani [food_id] => 4) [1] => Array ([food_name] => Sweet Corn Chicken Soup [food_id] => 6)) 

我需要從陣列

[1] => Array ([food_name] => Sweet Corn Chicken Soup [food_id] => 6) 

刪除的價值和需要得到[0] => Array ([food_name] => Chicken Briyani [food_id] => 4

回答

0

您可以使用array_filter通過id刪除任何不需要的值。

$arr = array(
 
array('food_name'=>'Chickem Briyani','food_id'=>4), 
 
    array('food_name'=>'Sweet Corn Chicken Soup','food_id'=>6) 
 
); 
 

 
$newarr = array_filter($arr,function($innerArr){ 
 
    if($innerArr['food_id'] === 6){ 
 
     return false; 
 
    } 
 
    return true; 
 
}); 
 
print_r($newarr);

0

您的需求:

你有鑰匙01多維數組。你需要只有0 th子數組。

解決方案:

您需要取消1 ST數組元素。

unset()函數應該這樣做。

unset($array[1]); 
0

只需使用

unset($array_name[1]); 

在PHP數組是關鍵值對。

所以,你在呼喚 '1' 鍵

而且你存儲如下陣列上鍵 '1'

Array ([food_name] => Sweet Corn Chicken Soup [food_id] => 6) 

所以正好被清除該鍵

像上面我提到

unset($array_name[1]); 

unset()銷燬指定的變量。

有關取消設置的更多信息,你可以閱讀

http://php.net/manual/en/function.unset.php

+0

考慮解釋你的答案;解釋*如何*和*爲什麼*它會工作。 –

+0

@NickZuber我更新了我的答案。 – Jatin

1

除了通過索引刪除一個數組元素,你也可以刪除由food_name,或者如果您遍歷數組中的條目food_id並查找這些值。

如果你想刪除一個特定的條目,例如Chickem Briyani之一,你將不得不遍歷數組,並尋找數組鍵。然後,根據food_namefood_id根據您要刪除的條目做出if語句。現在

$items = array(
    array('food_name' => 'Chickem Briyani', 'food_id' => 4), 
    array('food_name' => 'Sweet Corn Chicken Soup', 'food_id' => 6) 
); 

foreach($items as $key => $item) { 
    if($item['food_name'] == "Chickem Briyani") { 
    unset($items[$key]); 
    } 
} 

可以刪除特定的數組索引,屬於特定food_namefood_id

要查看陣列的最終輸出,只需使用

print_r($items);