zoukankan      html  css  js  c++  java
  • PHP去除数组中重复数据的两个例子

    例一:

    <?php
    $input = array("a" => "green","", "red","b" => "green", "","blue", "red","c" => "witer","hello","witer");
    //$result = array_unique($input); //去除重复元素
    $result = a_array_unique($input);   //只留下单一元素
    foreach($result as $aa)
    {
       echo $aa."<br />";
    }


    function a_array_unique($array)//写的比较好(写方法)
    {
      $out = array(); //定义变量out为一个数组
      foreach ($array as $key=>$value) //将$array数组按照$key=>$value的样式进行遍历
      {
        if (!in_array($value, $out))//如果$value不存在于out数组中,则执行
        {
          $out[$key] = $value; //将该value值存入out数组中
        }
      }
      return $out; //最后返回数组out
    }


    ?>

    PHP数组去除重复项 有个内置函数array_unique (),但是php的 array_unique函数只适用于一维数组,对多维数组并不适用,以下提供一个二维数组 的 array_unique函数

     例二:

    function unique_arr($array2D,$stkeep=false,$ndformat=true)
    {
        // 判断是否保留一级数组键 (一级数组键可以为非数字)
        if($stkeep) $stArr = array_keys($array2D);
        // 判断是否保留二级数组键 (所有二级数组键必须相同)
        if($ndformat) $ndArr = array_keys(end($array2D));
        //降维,也可以用implode,将一维数组转换为用逗号连接的字符串
        foreach ($array2D as $v)
     {
            $v = join(",",$v); 
            $temp[] = $v;
        }
        //去掉重复的字符串,也就是重复的一维数组
        $temp = array_unique($temp); 
        //再将拆开的数组重新组装
        foreach ($temp as $k => $v)
        {
            if($stkeep) $k = $stArr[$k];
            if($ndformat)
            {
                $tempArr = explode(",",$v); 
                foreach($tempArr as $ndkey => $ndval) $output[$k][$ndArr[$ndkey]] = $ndval;
            }
            else $output[$k] = explode(",",$v); 
        }
        return $output;
    }
  • 相关阅读:
    每日一练ACM 2019.0417
    每日一练ACM 2019.0416
    每日一练ACM 2019.04.13
    每日一练ACM 2019.04.14
    创建线程的方法
    类和对象的概念
    接口的概念
    Mysql添加取消自增属性
    SpringMVC不支持PUT表单提交
    SSM框架整合报org.springframework.beans.factory.NoSuchBeanDefinitionException
  • 原文地址:https://www.cnblogs.com/m-m-g-y0416/p/5595197.html
Copyright © 2011-2022 走看看