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

    php如何去掉数组中的重复的元素

    藏色散人藏色散人2020-07-29 09:20:43原创1747

    php去掉数组中的重复元素的方法:首先创建一个PHP示例文件;然后定义一个“array_remove_value”方法;接着通过unset等函数进行删除;最后用删除数组前的key来操作相应的值即可。

    推荐:《PHP教程

    方法一、完整删除重复数组实例-----删除数组中的一个元素

    function array_remove_value(&$arr, $var){
    foreach ($arr as $key => $value) {
    if (is_array($value)) {
    array_remove_value($arr[$key], $var);
    } else {
    $value = trim($value);
    if ($value == $var) {
    unset($arr[$key]);
    } else {
    $arr[$key] = $value;
    }
    }
    }
    }

    $a是一个数组:

    count($a); //得到4
    unset($a[1]); //删除第二个元素
    count($a); //得到3
    echo $a[2]; //数组中仅有三个元素,本想得到最后一个元素,但却得到blue,
    echo $a[1]; //无值
    ?>

    也就是说在删除数组中的元素后,数组中的元素个数(用count()得到)变了,但数组下标却没有重新排列,还必须用删除数组前的key来操作相应的值。

    后来我采用另一种方法,其实根本就不叫"方法",是用php4现成的函数array_splice()。

    count ($a); //得到4
    array_splice($a,1,1); //删除第二个元素
    count ($a); //得到3
    echo $a[2]; //得到yellow
    echo $a[1]; //得到blue
    ?>

    方法二、删除数组中重复元素的函数

    function delmember(&$array, $id)
    {
    $size = count($array);
    for($i = 0; $i <$size - $id - 1; $i ++)
    {
    $array[$id + $i] = $array[$id + $i + 1];
    }
    unset($array[$size - 1]);
    }

    以上就是php如何去掉数组中的重复的元素的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:php
    上一篇:php字符串如何转换成时间 下一篇:如何解决php json中文转码问题
    线上培训班

    相关文章推荐

    • php数组去掉重复值的方法汇总• PHP如何去掉重复字符?• php如何删除数组重复值?• php如何生成不重复的数字

    全部评论我要评论

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

    PHP中文网