数组合并和删除重复值

时间:2016-02-06 18:03:16

标签: php multidimensional-array

我有这个foreach循环输出下面的数组,我有一个高级时刻,我需要它返回一个没有重复值的数组,我就是不能正确。

editObject

输出:

foreach ( $post_groups as $post_group => $id ) {
    group = $wpdb->get_row( $wpdb->prepare("SELECT * FROM $table_name WHERE ID = %d", $id), ARRAY_A);
    $groups[$group['group_name']] = $group['group_name'] = unserialize( $group['group_users'] );
}

干杯

2 个答案:

答案 0 :(得分:1)

我相信以下是你所追求的。只需将数组合并在一起,然后确保结果是唯一的。

$userIds = [
    'Registered Users' => array(1,2,3),
    'Admin Users' => array(3,4,5),
];

$allUserIds = array_unique(call_user_func_array('array_merge', $userIds));

var_dump($userIds);
/*
array(2) {
  ["Registered Users"]=>
  array(3) {
    [0]=>
    int(1)
    [1]=>
    int(2)
    [2]=>
    int(3)
  }
  ["Admin Users"]=>
  array(3) {
    [0]=>
    int(3)
    [1]=>
    int(4)
    [2]=>
    int(5)
  }
}
*/

var_dump($allUserIds);
/*
array(5) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
  [4]=>
  int(4)
  [5]=>
  int(5)
}
*/

答案 1 :(得分:-1)

用于php函数:array_unique(array_merge())

测试代码:

$userIds = array('RegisteredUsers' => array('A','a','b','B'),'AdminUsers' => array('C','c','B','d','a'));

$allUserIds = array_unique(array_merge($userIds['RegisteredUsers'],     $userIds['AdminUsers']));
echo "<br><br>";

var_dump($userIds);
var_dump($allUserIds);