学堂 学堂 学堂公众号手机端

PHP中实现二维数组去重的代码是什么

lewis 1年前 (2024-04-09) 阅读数 7 #技术
本篇内容介绍了“PHP中实现二维数组去重的代码是什么”的有关知识,在实际项目的操作过程或是学习过程中,不少人都会遇到这样的问题,接下来就让小编带大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

对于如下二维数组,要求对其进行去重:

$arr = array(
          '0'=>array(
                    'name'=>'james',
                    'age'=>30,
          ),
          '1'=>array(
                    'name'=>'susu',
                    'age'=>26,
          ),
          '2'=>array(
                    'name'=>'james',
                    'age'=>30,
          ),
          'new'=>array(
                    'name'=>'kube',
                    'age'=>37,
          ),
          'list'=>array(
                    'name'=>'kube',
                    'age'=>27,
          ),
);

  //使用方法
  $key ='name';
   $arr_key = second_array_unique_bykey($arr,$key);
   printf("As for the givenkey->%s:<br>",$key);
   print_r($arr_key);
   echo "<br/>";

二维数组内部的一维数组因某一个键值不能相同,删除重复项:


/*针对某一个键值来进行去重*/

<?php
$arr= array(……);  //同上的二维数组
functionsecond_array_unique_bykey($arr, $key){
    $tmp_arr = array();
    foreach($arr as $k => $v)
    {
        if(in_array($v[$key], $tmp_arr))   //搜索$v[$key]是否在$tmp_arr数组中存在,若存在返回true
        {
            unset($arr[$k]); //销毁一个变量  如果$tmp_arr中已存在相同的值就删除该值
        }
        else {
            $tmp_arr[$k] = $v[$key];  //将不同的值放在该数组中保存
        }
   }
   //ksort($arr); //ksort函数对数组进行排序(保留原键值key)  sort为不保留key值
    return $arr;
   }

输出结果:

As for the given key->name:
Array (
 [0] => Array ( [name] => james [age] => 30 ) 
 [1] => Array ([name] => susu [age] => 26 ) 
 [2] => Array ( [name] => kube [age]=> 37 ) 
) 


以上就是关于“PHP中实现二维数组去重的代码是什么”的介绍了,感谢各位的阅读,希望这篇文章能帮助大家解决问题。如果想要了解更多知识,欢迎关注博信,小编每天都会为大家更新不同的知识。
版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门