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

    php数组中怎么删除指定值的元素?

    青灯夜游青灯夜游2020-11-05 09:48:06原创1880

    删除方法:1、利用foreach和unset()函数删除数组中的特定值;2、利用array_flip()函数和unset()函数删除数组中的特定值;3、利用array_search()和unset()函数删除数组中的特定值。

    推荐:《PHP视频教程

    php删除数组中的元素

    1、利用foreach和unset()函数删除数组中的特定值

    foreach($array as $k=>$v){
    if($v == 'day'){
    unset($array[$k]):
    }
    }

    unset()函数可以删除指定的数组值。

    unset ( $var [, $... ] )

    参数说明:$var: 要销毁的变量。

    2、利用array_flip()函数和unset()函数删除数组中的特定值

    $arr = array_flip($arr);
    unset($arr['world']);
    $arr = array_flip($arr);
    print_r($arr);

    array_flip()是一个反转函数,将数组原来的键名变为键值,把键值变为键名,这样上面的操作就很容易理解了。

    3、利用array_search()和unset()函数删除数组中的特定值

    if(($key = array_search('day',$arr))){
    unset($arr[$key]);
    }

    array_search() 函数与 in_array() 一样,在数组中查找一个键值。如果找到了该值,匹配元素的键名会被返回。如果没找到,则返回 false。

    4、array_splice()函数可以与unset()函数起到相同作用

    if(($key = array_search('day',$arr))){
    array_splice($arr, $key,1);
    }

    array_splice() 函数从数组中移除选定的元素,并用新元素取代它;函数也将返回被移除元素的数组。如果函数没有移除任何元素(length=0),则替代数组将从 start 参数的位置插入。不保留替代数组中的键名。

    array_splice(array,start,length,array)

    array_splice()有四个参数:

    1.png

    5、array_unique()让这个特定值在数组中一个不留

    注意:上面的所有操作只是删除了数组中第一个和你给定的值相同的元素,之后的元素即使和你给定的值相等,却没有被删除!

    在进行上面所有的代码操作之前,先进行array_unique($array)的操作,将数组中的重复值进行合并删除,再进行上面的删除,让数组中的重复值一个不留。

    六、只删除特定值对应的键值,不动其他值

    五中导致删除特定值的同时,也将其他无关的值合并了,那么不要动其他值怎么办?重复执行上面一~四的操作即可,获取数组长度,用一个for循环即可,当然这是最笨的办法~~

    获取数组长度的函数是count($arr)

    for(count($arr))if($key = array_search('day',$arr))array_splice($arr,$key,1);

    更多编程相关知识,请访问:编程入门!!

    以上就是php数组中怎么删除指定值的元素?的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php 数组
    上一篇:php如何去掉html 下一篇:php正则表达式如何实现替换
    千万级数据并发解决方案

    相关文章推荐

    • PHP中如何实现重定向网页跳转页面• php怎么去除字符串中的空格• php隐藏域是什么• php fpm如何设置• php扩展没有加载怎么办
    1/1

    PHP中文网