web-dev-qa-db-ja.com

配列から文字列への変換エラーを示すarray_unique

一意の値を取得するには、一意の値を使用しています。以下は私が使用しているコードです

array_unique($results_external);
aasort($results_external,"created_on");
$returns_buy_external[]=array_reverse($results_external, true);

このようなコードを使用すると、次のエラーが発生します

A PHPエラーが発生しました重大度:通知

メッセージ:配列から文字列への変換

ファイル名:models/product_model.php

行番号:3550

3550行はarray_unique($ results_external);

誰も私を助けることができますか、なぜこのようなエラーが発生しているのか、それを解決する方法はありますか?

results_externalサンプル形式は以下にあります

Array
(
    [0] => Array
        (
            [id] => 144
            [name] => test
            [slug] => test
            [images] => {"9eebd0f69772dd3bdf8c787864437c85":{"filename":"9eebd0f69772dd3bdf8c787864437c85.png","alt":"TRESemme Smooth and Shine","caption":""}}
            [track_stock] => 1
            [seo_title] => ttt
            [qty] => 0
            [product_type] => 0
            [price] => 0.00
            [saleprice] => 0.00
            [external_links] => http://test.com
            [external_price] => 285.00
            [external_saleprice] => 285.00
            [created_on] => 2013-11-08 15:03:24
        )
)
30
user3652109

ドキュメントarray_uniqueは、デフォルトで要素を文字列として比較します。これは、2D配列が文字列の配列に変換されることを意味します(すべて"Array"および配列から文字列への変換の通知)または一意として返されるのはいずれか1つだけです。

使用 SORT_REGULARフラグを使用して要素をそのまま比較しますが、配列は同じキーと値のペアを持つ場合にのみ等しいと見なされることに注意してください。

例:

print_r(array_unique($array, SORT_REGULAR));
62