【发布时间】:2018-07-10 13:50:04
【问题描述】:
我有这个数组:
Array
(
[0] => Array
(
[0] => Array
(
[0] => 10
[id_list] => 1
[id] => 1
)
[1] => Array
(
[0] => 11
[id_list] => 1
[id] => 1
)
[2] => Array
(
[0] => 12
[id_list] => 1
[id] => 1
)
)
[1] => Array
(
[0] => Array
(
[0] => 11
[id_list] => 2
[id] => 2
)
[1] => Array
(
[0] => 12
[id_list] => 2
[id] => 2
)
)
[2] => Array
(
[0] => Array
(
[0] => 13
[id_list] => 4
[id] => 4
)
)
)
这段代码(其中 $dataListe 是 fetchAll 查询的结果):
$result = [];
foreach($dataListe as $listeDiff){
$result[] = $listeDiff;
}
// $resultUnique = array_unique($result);
echo "<pre>".print_r($result, true)."</pre>";
如您所见,我的第一个和第二个数组中有一些相似的联系人(但第一个和第三个数组中的联系人可以相同,我是否选择将我的联系人添加到我的第三个数组中)。
我想删除通用数组中每个元素的重复项。
但是当我使用数组唯一时,我得到了这个结果:
Array
(
[0] => Array
(
[0] => Array
(
[0] => 10
[id_list] => 1
[id] => 1
)
[1] => Array
(
[0] => 11
[id_list] => 1
[id] => 1
)
[2] => Array
(
[0] => 12
[id_list] => 1
[id] => 1
)
)
)
请帮助我在最后只保留每个数组的一项!
编辑:我用下面的代码几乎得到了很好的结果,但是 id 12 不见了
$result = [];
foreach($dataListe as $listeDiff){
foreach($listeDiff as $contact){
if(!in_array($contact,$result)){
$result[] = $contact;
}
break;
}
}
【问题讨论】:
标签: php arrays multidimensional-array unique