[英]How to remove element of array in php?
我有数组:
阵列:
Array
(
[0] => Array
(
[name] => point
[visibility] =>
)
[1] => Array
(
[name] => php_first_table
[visibility] => 1
)
[2] => Array
(
[name] => ohz
[visibility] => 1
)
)
现在我想查找并删除name=ohz
元素:
for($i=0;$i<count($arrays);$i++){
if(array_search("ohz",$arrays[$i])){
unset($arrays[$i]);
}
}
print_r($arrays);
输出:
Array
(
[0] => Array
(
[name] => point
[visibility] =>
)
[2] => Array
(
[name] => ohz
[visibility] => 1
)
)
为什么php_first_table
不是ohz
被删除了?
在PHP中, 为此有array_filter() :
$arrays = array_filter($arrays, function($item)
{
return !(array_key_exists('name', $item) && $item['name']=='ohz');
});
尝试像
for($i=0;$i<count($arrays);$i++){
if($arrays[$i]['name'] == 'ohz')){
unset($arrays[$i]);
}
}
print_r($arrays);
尝试这个:
<?php
$arr_var = Array
(
Array('name' => 'point','visibility' => ''),
Array('name' => 'php_first_table', 'visibility' => 1),
Array('name' => 'ohz', 'visibility' => 1)
);
foreach($arr_var as $key => $value)
{
if($value['name'] == 'ohz'){
unset($arr_var[$key]);
}
}
echo '<pre>';
print_r($arr_var);
?>
工作正常。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.