【发布时间】:2015-11-20 10:52:26
【问题描述】:
$email_users[] = $row;
print_r($email_users);
结果:
Array (
[0] => Array (
[user_id] => 87436
[username] => Admin
[user_email] => email@online.us
[user_lang] => de
[allowed] => 1 )
[1] => Array (
[user_id] => 68013
[username] => Testuser
[user_email] => email2@online.us
[user_lang] => de
[allowed] => 1 )
[2] => Array (
[user_id] => 68013
[username] => Testuser
[user_email] => email2@online.us
[user_lang] => de
[allowed] => 1 )
)
如您所见,user_id 68013 是双倍的。我必须删除双数组。 结果应如下所示:
Array (
[0] => Array (
[user_id] => 87436
[username] => Admin
[user_email] => email@online.us
[user_lang] => de
[allowed] => 1 )
[1] => Array (
[user_id] => 68013
[username] => Testuser
[user_email] => email2@online.us
[user_lang] => de
[allowed] => 1 )
)
我阅读并尝试了我在堆栈中找到的几种解决方案。例如:
How to get unique value in multidimensional array
$email_users[] = $row;
$user_ids = array();
foreach ($email_users as $h) {
$user_ids[] = $h['user_id'];
}
$email_users = array_unique($user_ids);
print_r($email_users);
但 print_r 只是:
Array ( [0] => 87436 [1] => 68013 )
感谢您的宝贵时间。
【问题讨论】:
-
array_unique($your_array,SORT_REGULAR). -
我猜您是从 SQL 查询中获取数据的 - 您可以发布该查询吗?您尝试过 SELECT DISTINCT 吗?
-
@FranzGleichmann Select Distinct 想要工作,因为它是一个循环。谢谢
-
@Uchiha 你能给我一个更好的例子吗?谢谢
-
只需使用
print_r(array_unique($email_users,SORT_REGULAR));从您获取此数组的位置