2017-10-13 8 views
1

をソートしながら私は(JSON、ますprint_r有する出力から復号)この配列を有する:array_unique出力アレイ

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はnullです。

誰かが私のミスを見つけることができますか?

+1

これは配列ではない標準的なオブジェクトです。配列の中で最初に変換してください –

答えて

3

これははstdClassオブジェクト、ない配列です。ので、人々はコメントに気づいたように、実際の配列は$array['data']に存在する:

$array = json_decode($json, true); 

編集:あなたが関数にjson_decodeを使用してデコードする際には、配列を持っている「真」のパラメータを渡す必要がありますarray_unique$array['data']代わりの$arrayに適用する必要があります。

+3

'array_unique'を' $ array'の代わりに '$ array [" data "]'に適用する必要があるかもしれません。 – trincot

+0

@trincotええ、正しい。実際の配列は$ array ['data']に存在します。答えを –

+0

に更新してください。真のパラメータを使って、ソートされた配列を見ることができます。しかし、データ配列を使用して元のJSONに戻すにはどうすればよいですか? http://php.net/manual/en/function.json-encode.php: – Francis

関連する問題