如何删除php数组的父数字键

时间:2014-03-21 10:38:32

标签: php arrays array-unique

我在php中有一个类似下面的数组

Array
(
    [0] => Array
        (
            [0] => 40173
            [1] => 514081
            [2] => 363885
            [3] => 891382
        ),
    [1] => Array
        (
            [0] => 40173
            [1] => 5181
            [2] => 385
            [3] => 891382
        )

)

现在我要删除父索引0,1 ...并最终想要获取所有值(仅限唯一值)。

感谢。

6 个答案:

答案 0 :(得分:4)

一种可能的方法是使用call_user_func_array('array_merge', $arr)惯用法展平数组,然后使用array_unique()提取唯一值:

$new_arr = array_unique(
  call_user_func_array('array_merge', $old_arr));

Demo。显然,它可以处理任何长度的数组。

答案 1 :(得分:3)

$startArray = Array
(
[0] => Array
    (
        [0] => 40173
        [1] => 514081
        [2] => 363885
        [3] => 891382
    ),
[1] => Array
    (
        [0] => 40173
        [1] => 5181
        [2] => 385
        [3] => 891382
    )

);
//Edited to handle more the 2 subarrays
$finalArray = array();

foreach($startArray as $tmpArray){
    $finalArray = array_merge($finalArray, $tmpArray);
}

$finalArray = array_unique($finalArray);

答案 2 :(得分:1)

Using RecursiveArrayIterator Class

$objarr = new RecursiveIteratorIterator(new RecursiveArrayIterator($yourarray));
foreach($objarr as $v) {
    $new_arr[]=$v;
}
print_r(array_unique($new_arr));

Demo

<强> OUTPUT:

Array
(
    [0] => 40173
    [1] => 514081
    [2] => 363885
    [3] => 891382
    [5] => 5181
    [6] => 385
)

答案 3 :(得分:0)

$new_array = array_merge($array1, $array2);
$show_unique = array_unique($new_array);
print_r($show_unique);

array_merge正在合并数组,array_unique会删除任何重复的值。

答案 4 :(得分:-1)

尝试这样的事情:

$new_array = array();

foreach($big_array as $sub_array) {
    array_merge($new_array, $sub_array);
}

$new_array = array_unique($new_array);

(代码未测试,这只是一个概念)

答案 5 :(得分:-1)

试试这个:

$Arr = array(array(40173, 514081, 363885, 891382),
             array(40173,5181, 385,891382));

$newArr = array();

foreach($Arr as $val1)
{

foreach($val1 as $val2)
{  
     array_push($newArr, $val2);
}
}

echo '<pre>';
print_r(array_unique($newArr));

输出:

Array
(
    [0] => 40173
    [1] => 514081
    [2] => 363885
    [3] => 891382
    [5] => 5181
    [6] => 385
)

参考:https://eval.in/124240

- 感谢