如何将下面的数据个数去重,大牛给个思路?

array:8 [▼
  "人物管理" => array:1 [▼
    "list" => array:4 [▼
      0 => array:2 [▼
        "permissions_name" => "人物列表"
        "url" => "dern"
      ]
      1 => array:2 [▼
        "permissions_name" => "人物新增"
        "url" => "dern.create"
      ]
      2 => array:2 [▼
        "permissions_name" => "人物列表"
        "url" => "dern"
      ]
      3 => array:2 [▼
        "permissions_name" => "人物新增"
        "url" => "dern.create"
      ]
    ]
  ]
  "文章管理" => array:1 [▶]
  "视频管理" => array:1 [▶]
  "其他管理" => array:1 [▶]
  "友情管理" => array:1 [▶]
  "权限管理" => array:1 [▶]
  "角色管理" => array:1 [▶]
  "用户管理" => array:1 [▶]
chenBJ
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 2
chenBJ

$data = [];
foreach($newArray as $k=>$v){
foreach($v as $k1=>$v2){
$unique_list = $this->assoc_unique($v2,'url');
$data[$k]['list'] = $unique_list;
}
}
public function assoc_unique($arr, $key){
$tmp_arr = array();
foreach($arr as $k => $v)
{
if(in_array($v[$key], $tmp_arr))//搜索$v[$key]是否在$tmp_arr数组中存在,若存在返回true
{ // www.jbxue.com
unset($arr[$k]);
}
else {
$tmp_arr[] = $v[$key];
}
}
sort($arr); //sort函数对数组进行排序
return $arr;
}

5年前 评论
jltxwesley

@chenBJ
假设你的整个数组是 $data:

foreach ($data as $index => $item) {
    foreach ($item as $key => $list) {
        $data[$index][$key] = collect($list)->unique('url')->toArray();
    }
};
5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!