Php 基于键值对删除子数组时出错

Php 基于键值对删除子数组时出错,php,arrays,Php,Arrays,我试图删除一个数组,其中键是[ITEM\u ID]搜索值4 我需要删除整个阵列,但我不能这样做 Array ( [0] => Array ( [ITEM_ID] => 4 [ITEM_MODEL] => BASIC Armario [ITEM_FABRICANTE] => 1 [ITEM_COLOR

我试图删除一个数组,其中键是[ITEM\u ID]搜索值4

我需要删除整个阵列,但我不能这样做

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);

您必须在数组中循环并取消设置适当的子数组:

// 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;
    }
}

请注意,这将保留未删除项目的键。要重置键的顺序,可以执行以下操作:
$array=array\u values($array)
for
循环之外。@异议您是正确的,但如果不需要,为什么会导致更多的处理开销?我只是在需要按顺序排列键时作为注释提供。现在可能没有必要,但了解一下以供参考会有帮助。