二位数组根据数组中的某个值来取交集

$a = [

['a' => 11,'b'=>1],
['a' => 11,'b'=>2],
['a' => 22,'b'=>3],
['a' => 22,'b'=>4],
['a' => 33,'b'=>5],
['a' => 33,'b'=>6],
['a' => 44,'b'=>7],
['a' => 44,'b'=>8],
['a' => 44,'b'=>9],
['a' => 55,'b'=>10],
['a' => 55,'b'=>11],
['a' => 66,'b'=>12],
['a' => 66,'b'=>13],

];

比较二维数组的a键
去掉重复的。获取
$a = [

['a' => 11,'b'=>1],
['a' => 22,'b'=>3],
['a' => 33,'b'=>5],
['a' => 44,'b'=>7],
['a' => 55,'b'=>10],
['a' => 66,'b'=>12],

];

阅读 2.2k
1 个回答

哦自己找到答案了,求效率更好的方法

function assoc_unique(&$arr, $key)
{
    $rAr=array();
    for($i=0;$i<count($arr);$i++)
    {
        if(!isset($rAr[$arr[$i][$key]]))
        {
            $rAr[$arr[$i][$key]]=$arr[$i];
        }
    }
    $arr=array_values($rAr);
}
assoc_unique($a,'a');
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题