【发布时间】:2011-06-29 12:21:03
【问题描述】:
我使用下面的代码行循环访问我的数据库中的一个表:
$items_thread = $connection -> fetch_all($sql);
如果我将数组打印出来:
print_r($items_thread);
我会得到这个:
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
)
)
但是我想去掉数组中的重复项,所以我使用array_unique
print_r(array_unique($items_thread));
我得到以下奇怪的结果,这不是我想要的:
Array
(
[0] => Array
(
[RecipientID] => 3
[RecipientScreenname] => Tom L
[RecipientFirstname] => Thomas
[RecipientEmail] => info@xx.com
)
)
理想情况下,我认为它应该返回这个:
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
)
)
我该怎么做才能让它正确?我是否使用了错误的 PHP 语法/默认函数?
【问题讨论】:
-
array_unique()将所有内容简化为单个数组,因为它将您的内部数组作为字符串进行比较,所有这些都评估为Array。所以每个数组都被认为是相同的。此外,来自manual:“请注意,array_unique()不适用于多维数组。” -
感谢您的建议 - 选择 DISTINCT RecipientID。它不会返回我需要的结果,即使我可以从中获得独特的价值......你可以看看我之前在这里发布的帖子 - stackoverflow.com/questions/5032645/… 谢谢。
标签: php arrays duplicates array-unique