繁体   English   中英

如何在PHP中删除数组元素?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM