lau*_*kok 25 php arrays duplicates array-unique
我使用下面的代码行循环遍历数据库中的表:
$items_thread = $connection -> fetch_all($sql);
Run Code Online (Sandbox Code Playgroud)
如果我打印出阵列:
print_r($items_thread);
Run Code Online (Sandbox Code Playgroud)
我会得到这个:
Array
(
[0] => Array
(
[RecipientID] => 3
[RecipientScreenname] => Tom L
[RecipientFirstname] => Thomas
[RecipientEmail] => info@xx.com
)
[1] => Array
(
[RecipientID] => 3
[RecipientScreenname] => Tom L
[RecipientFirstname] => Thomas
[RecipientEmail] => info@xx.com
)
[2] => Array
(
[RecipientID] => 1
[RecipientScreenname] => Lau T
[RecipientFirstname] => TK
[RecipientEmail] => lau@xx.co.uk
)
)
Run Code Online (Sandbox Code Playgroud)
但我想摆脱数组中的重复项,所以我使用 array_unique
print_r(array_unique($items_thread));
Run Code Online (Sandbox Code Playgroud)
我得到了下面的奇怪结果,这不是我想要的:
Array
(
[0] => Array
(
[RecipientID] => 3
[RecipientScreenname] => Tom L
[RecipientFirstname] => Thomas
[RecipientEmail] => info@xx.com
)
)
Run Code Online (Sandbox Code Playgroud)
理想情况下,我认为它应该返回:
Array
(
[0] => Array
(
[RecipientID] => 3
[RecipientScreenname] => Tom L
[RecipientFirstname] => Thomas
[RecipientEmail] => info@xx.com
)
[1] => Array
(
[RecipientID] => 1
[RecipientScreenname] => Lau T
[RecipientFirstname] => TK
[RecipientEmail] => lau@xx.co.uk
)
)
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能做到对?我使用了错误的PHP语法/默认函数吗?
Tim*_*per 66
该array_unique功能将为您完成此操作.你只需要添加SORT_REGULAR标志:
$items_thread = array_unique($items_thread, SORT_REGULAR);
Run Code Online (Sandbox Code Playgroud)
但是,正如bren建议的那样,如果可能的话,你应该在SQL中这样做.