php 如果找到,如何删除重复的关联数组
php how to remove both duplicate associative array if found
我有这几行。
$rows = [
['user' => 1, 'access' => '342'],
['user' => 2, 'access' => '765'],
['user' => 3, 'access' => '134'],
['user' => 1, 'access' => '342']
];
我设法删除了重复项,例如:用户 = 1,
$ids = [];
foreach ($rows as $k => $item) {
if (in_array($item['user'], $ids)){
unset($rows[$k]);
} else {
$ids[] = $item['user'];
}
}
echo json_encode($rows);
问题是,我希望最终结果完全删除两个重复项。例如:所需的输出(不再有用户 1)
[
{"user":2,"access":"765"},
{"user":3,"access":"134"}
]
谢谢
$rows = [
['user' => 1, 'access' => '342'],
['user' => 2, 'access' => '765'],
['user' => 3, 'access' => '134'],
['user' => 1, 'access' => '342']
];
$res = [];
foreach ($rows as $row) {
if(!empty($res[$row['user']])) {
unset($res[$row['user']]);
} else {
$res[$row['user']] = $row;
}
}
print_r(array_values($res));
我有这几行。
$rows = [
['user' => 1, 'access' => '342'],
['user' => 2, 'access' => '765'],
['user' => 3, 'access' => '134'],
['user' => 1, 'access' => '342']
];
我设法删除了重复项,例如:用户 = 1,
$ids = [];
foreach ($rows as $k => $item) {
if (in_array($item['user'], $ids)){
unset($rows[$k]);
} else {
$ids[] = $item['user'];
}
}
echo json_encode($rows);
问题是,我希望最终结果完全删除两个重复项。例如:所需的输出(不再有用户 1)
[
{"user":2,"access":"765"},
{"user":3,"access":"134"}
]
谢谢
$rows = [
['user' => 1, 'access' => '342'],
['user' => 2, 'access' => '765'],
['user' => 3, 'access' => '134'],
['user' => 1, 'access' => '342']
];
$res = [];
foreach ($rows as $row) {
if(!empty($res[$row['user']])) {
unset($res[$row['user']]);
} else {
$res[$row['user']] = $row;
}
}
print_r(array_values($res));