有一个数组,图中user_realname值朱菲有重复的,现在想去掉重复的,保留一个就行。这个循环怎么写,俺是菜鸟,望前辈们指教。。
你可以试试这个投机取巧的玩法
function repeat(array $input, string $key): array
{
$data = [];
foreach ($input as $val) {
$data[$val[$key]] = $val;
}
sort ($data);
return $data;
}
var_dump (repeat ($data, 'user_realname'));
如果数据不大,假设保留第一个
<?php
$arr = [
[
'id_user'=>1,
'user_realname'=>'刘德华'
],
[
'id_user'=>2,
'user_realname'=>'郭富城'
],
[
'id_user'=>3,
'user_realname'=>'张学友'
],
[
'id_user'=>4,
'user_realname'=>'黎明'
],
[
'id_user'=>5,
'user_realname'=>'刘德华'
],
];
$isExistRealName = [];
$newArr = array_filter($arr, function ($v) use (&$isExistRealName) {
if (!in_array($v['user_realname'], $isExistRealName)) {
array_push($isExistRealName, $v['user_realname']);
return true;
}
return false;
});
var_dump($newArr);
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
如果是数据库查出来的,查询的时候用 group by user_realname。
如果是写死的数据,foreach循环进行对比,重复的用unset()去掉。