簡體   English   中英

從多維數組 php 中刪除數組鍵

[英]Removing array key from multidimensional Arrays php

我有這個數組

 $cart= Array(
      [0] => Array([id] => 15[price] => 400)
      [1] => Array([id] => 12[price] => 400)
    )

我需要的是根據某個值刪除數組鍵,就像這樣

$value = 15;

值為 15 只是示例,我需要檢查數組並刪除 ID 中是否存在該值?

array_filter非常適合從數組中刪除你不想要的東西。

$cart = array_filter($cart, function($x) { return $x['id'] != 15; });

如果您想使用變量來確定要刪除的 id 而不是將其包含在array_filter回調中,您可以在函數中use您的變量,如下所示:

$value = 15;
$cart = array_filter($cart, function($x) use ($value) { return $x['id'] != $value; });

PHP 中有很多奇怪的數組函數,但是很多這些請求都是通過非常簡單的 foreach 循環來解決的……

$value = 15;
foreach ($cart as $i => $v) {
    if ($v['id'] == $value) {
        unset($cart[$i]);
    }
}

如果 $value 根本不在數組中,則什么都不會發生。 如果 $value 在數組中,則整個索引將被刪除(未設置)。

你可以使用:

foreach($array as $key => $item) {
  if ($item['id'] === $value) {
    unset($array[$key]);
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM