• 技术文章 >后端开发 >PHP问题

    php如何删除一维数组中某一个值元素

    coldplay.xixicoldplay.xixi2020-08-06 13:27:44原创891

    php删除一维数组中某一个值元素的方法:1、使用for循环语句,函数【array_merge()】去除值,代码为【$arr = array_merge($arr)】;2、使用函数【array_splice】自动实现重置序列值。

    php删除一维数组中某一个值元素的方法:

    1. 自己写for循环

    从array里去掉$tmp这个元素的值

    <?php
    $tmp = '324';
    $arr = array(
    '0' => '321',
    '1' => '322',
    '2' => '323',
    '3' => '324',
    '4' => '325',
    '5' => '326',
    );

    代码

    foreach( $arr as $k=>$v) {
     if($tmp == $v) unset($arr[$k]);
    }
    print_r($arr);
    ?>

    此时

    Array
    (
     [0] => 321
     [1] => 322
     [2] => 323
     [4] => 325
     [5] => 326
    )

    要重置索引,加上一句

    foreach( $arr as $k=>$v) {
     if($tmp == $v) unset($arr[$k]);
    }
    $arr = array_values($arr);
    print_r($arr);
    ?>

    此时结果

    Array
    (
     [0] => 321
     [1] => 322
     [2] => 323
     [3] => 325
     [4] => 326
    )

    array_merge()也可以实现同样的效果

    foreach( $arr as $k=>$v) {
     if($tmp == $v) unset($arr[$k]);
    }
    $arr = array_merge($arr);
    print_r($arr);
    ?>
    Array
    (
     [0] => 321
     [1] => 322
     [2] => 323
     [3] => 325
     [4] => 326
    )

    2.优先使用php自带函数,因为那是用C实现的,比自己写效率高。

    使用array_search和array_splice,这里array_splice自动实现重置序列值。

    $key=array_search($tmp ,$arr);
    array_splice($arr,$key,1);
    var_dump($arr);

    此时结果

    Array
    (
     [0] => 321
     [1] => 322
     [2] => 323
     [3] => 325
     [4] => 326
    )

    最佳实践

    $arr = array_merge(array_diff($arr, array($tmp)));
    var_dump($arr);

    结果

    Array
    (
     [0] => 321
     [1] => 322
     [2] => 323
     [3] => 325
     [4] => 326
    )

    这里,如果数组元素是复杂数据结构,同样能够实现比较。当然数据本身仍然是一维的。

    上面的例子中$tmp是一个值,如果$tmp是一个数组或者其他复杂数据结构,从$array中删除所有$tmp包含的元素,上面的方法同样有效

    $arr = array_merge(array_diff($arr, $tmp));
    var_dump($arr);

    相关学习推荐:php编程(视频)

    以上就是php如何删除一维数组中某一个值元素的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:php 一维数组
    上一篇:php怎么删除数组中的空值 下一篇:php获取不到session怎么办
    大前端线上培训班

    相关文章推荐

    • 如何通过php 实现多个一维数组合拼成二维数组的方法• php一维数组怎么定义• php二维数组转一维数组的函数有哪些• PHP二维数组如何转换为一维数组

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网