array_unique 排序数组时输出 null

array_unique outputs null while sorting array

我有这个数组(从[=21=解码],用print_r输出):

stdClass Object
(
    [data] => Array
        (
            [0] => stdClass Object
                (
                    [item] => te
                    [date] => 13.10
                )
            [1] => stdClass Object
                (
                    [item] => te
                    [date] => 13.10
                )
            [2] => stdClass Object
                (
                    [item] => tr
                    [date] => 13.10
                )
        )
)

但现在我必须删除所有重复项。 如果我尝试 $result = array_unique($array, SORT_REGULAR); $result 为空。

有人能指出我的错误吗?

这是一个 stdClass 对象,不是数组。当你使用函数json_decode解码时,需要传递参数"true"得到一个数组:

$array = json_decode($json, true);

编辑:正如人们在评论中注意到的那样,实际数组存在于 $array['data'] 中,因此 array_unique 必须应用于 $array['data'] 而不是 $array