Php 基于键值对删除子数组时出错
我试图删除一个数组,其中键是[ITEM\u ID]搜索值4 我需要删除整个阵列,但我不能这样做Php 基于键值对删除子数组时出错,php,arrays,Php,Arrays,我试图删除一个数组,其中键是[ITEM\u ID]搜索值4 我需要删除整个阵列,但我不能这样做 Array ( [0] => Array ( [ITEM_ID] => 4 [ITEM_MODEL] => BASIC Armario [ITEM_FABRICANTE] => 1 [ITEM_COLOR
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
循环之外。@异议您是正确的,但如果不需要,为什么会导致更多的处理开销?我只是在需要按顺序排列键时作为注释提供。现在可能没有必要,但了解一下以供参考会有帮助。