PHP unique_array得到错误的结果

时间:2014-07-06 11:20:33

标签: php arrays unique

我试图在我的阵列中只保留唯一的ID,但我遇到了麻烦..

Array
(
    [0] => Array
        (
            [0] => 1
        )

    [1] => Array
        (
            [0] => 1
        )

    [2] => Array
        (
            [0] => 1
        )

    [3] => Array
        (
            [0] => 1
        )

    [4] => Array
        (
            [0] => 31
        )

)

这是我的阵列以及我何时使用 -

$unique = array_unique($myArray);

我只得到 -

Array
(
    [0] => Array
        (
            [0] => 1
        )
)

我需要它来显示ID 1和31

请问我做错了什么?

代码 -

$myArray= array();

$myArray= $this->data['vendor_id'];

$unique = array_unique($myArray);

print_r($unique);

2 个答案:

答案 0 :(得分:0)

试试这个;)

<?php
$data = array(
    1 => array(
        0 => 1
    ),
    2 => array(
        0 => 1
    ),
    3 => array(
        0 => 1
    ),
    4 => array(
        0 => 31
    )
);

$items = array();

foreach($data as $item) {
    $items[$item[0]] = $item[0];
}

print_r($items);

答案 1 :(得分:0)

这是因为每个数组项的值都是一个数组。 array_unique()函数基本上删除了重复项,并仅保留第一次出现的数组。

请参阅此页以获取进一步阅读:PHP documentation: array_unique()