我需要删除数组中的某个键,因为我正在为我的数据创建一个过滤器。
Array(
[0]=>Array
(
['Column1'] => 'ABC'
['Column2'] => 'xxx'
)
[1]=>Array
(
['Column1'] => 'XYZ'
['Column2'] => 'xxx'
)
)
我想删除具有值' XYZ'的键(表示数字2)。我该如何删除它?我需要删除它,因为我正在过滤由另一个脚本抛给我的数组,我需要删除密钥。我尝试使用for循环,但我不知道如何删除它。
for($z = 0; $z < count($array);$z++)
{
if($array[$z]['Column1'] == 'XYZ'){
// how do I remove the record [1] and all of its contents?
}
}
答案 0 :(得分:3)
使用unset()
for($z = 0; $z < count($array);$z++)
{
if($array[$z]['Column1'] == 'XYZ'){
unset($array[$z]);
}
}
你也可以这样做:
foreach($array as &$v) {
if($v['Column1'] == 'XYZ') {
unset($v);
}
}
在数组上使用unset()之后,只要您不需要保留索引值,就值得这样做:
$array = array_values($array);
重置数组索引。
答案 1 :(得分:0)
foreach ($array as $k => $v)
{
if ($v['Column1'] == 'XYZ') unset($array[$k]);
}