PHP数组唯一值
我有这样PHP数组唯一值
Array
(
[0] => Array
(
[id] => BA
[name] => British Airways
)
[1] => Array
(
[id] => BA
[name] => British Airways
)
[2] => Array
(
[id] => LA
[name] => Lanchile
)
[3] => Array
(
[id] => LA
[name] => Lanchile
)
[4] => Array
(
[id] => BA
[name] => British Airways
)
[5] => Array
(
[id] => BA
[name] => British Airways
)
)
数组,我想
Array
(
[0] => Array
(
[id] => BA
[name] => British Airways
)
[1] => Array
(
[id] => LA
[name] => Lanchile
)
)
但使用array_unique功能之后,我只有
Array
(
[0] => Array
(
[id] => BA
[name] => British Airways
)
)
什么我做错了吗?
array_unique(my_array, SORT_REGULAR)
按照评论要求。 :)
非常好的解决方案,为我工作就像一个魅力:) – 2013-10-29 16:01:11
ü宁愿说 - 伟大的“steallution”大声笑 Upvoted diegoperini在正义的深切关注。 – 2014-04-06 17:17:14
那天我误读了Niklas Ekman的建议,现在我意识到这是偷窃。不便之处敬请原谅。我反而提出了这个问题。 – diegoperini 2014-04-25 13:39:36
如前所述array_unique不支持多维数组,但你可以遍历数据,并建立自己的
<?php
$airlines = array(
array('id' => 'BA', 'name' => 'British Airways'),
array('id' => 'LA', 'name' => 'Lanchile'),
array('id' => 'BA', 'name' => 'British Airways'),
array('id' => 'LA', 'name' => 'Lanchile'),
array('id' => 'BA', 'name' => 'British Airways'),
array('id' => 'LA', 'name' => 'Lanchile'),
);
$tmp = array();
foreach ($airlines as $item) {
if (!in_array($item['id'], $tmp)) {
$unique[] = $item;
$tmp[] = $item['id'];
}
}
var_dump($unique); // $unqiue will have your desired results in it var_dump was just for testing
$airlines = array(
array('id' => 'BA', 'name' => 'British Airways'),
array('id' => 'LA', 'name' => 'Lanchile'),
array('id' => 'BA', 'name' => 'British Airways'),
array('id' => 'LA', 'name' => 'Lanchile'),
array('id' => 'BA', 'name' => 'British Airways'),
array('id' => 'LA', 'name' => 'Lanchile'),
);
$unique = array_map(
'unserialize',
array_unique(
array_map(
'serialize',
$airlines
)
)
);
var_dump($unique);
如果元素的顺序不同,则会失败。 'array_unique($ airlines,SORT_REGULAR);'是正确的答案。 – cleong 2013-05-03 11:45:51
你尝试使用'array_unique(my_array,SORT_REGULAR)'? – diegoperini 2013-05-03 11:25:07
可能的重复 - http://*.com/q/307674/608170。此外,如果此数组是查询的结果,则需要重新检查查询以消除重复项。 – verisimilitude 2013-05-03 11:26:11
http://*.com/questions/6766942/php-unique-array-function-for-nested-array可能的副本 – 2013-05-03 11:27:19