从以下ID为16的数组键混合两次。我们如何才能删除此重复ID。(如果ID重复,请删除其他字段忽略(
Array
(
[1] => Array
(
[ID] => 16
[username] => dudda
[message-time] => 2016-08-25 12:12:53
)
[2] => Array
(
[ID] => 16
[username] => dudda
[message-time] => 2016-08-25 12:01:54
)
[3] => Array
(
[ID] => 3
[username] => himanshu
[message-time] => 2016-08-15 12:53:38
)
[4] => Array
(
[ID] => 15
[username] => dawinder
[message-time] => 2016-08-10 11:40:33
)
)
我得到了解决方案
我为同一个开发了这个功能:
function unique_multidim_array($array, $key) {
$temp_array = array();
$i = 0;
$key_array = array();
foreach($array as $val) {
if (!in_array($val[$key], $key_array)) {
$key_array[$i] = $val[$key];
$temp_array[$i] = $val;
}
$i++;
}
return $temp_array;
}
现在,在代码的任何地方调用这个函数,
像这样的
$details = unique_multidim_array($array_name,'key');
我们使用它来消除各种重叠查询的重复结果。
$input = array_map("unserialize", array_unique(array_map("serialize", $input)));
array array_unique ( array $array [, int $sort_flags = SORT_STRING ] )
阅读以下内容:http://php.net/manual/en/function.array-unique.php
例如
<?php
$input = array("a" => "green", "red", "b" => "green", "blue", "red");
$result = array_unique($input);
print_r($result);
?>
输出为:
Array
(
[a] => green
[0] => red
[1] => blue
)