array_unique显示错误 数组到字符串的转换

2022-08-30 11:59:34

为了获得唯一值,我使用唯一值。以下是我正在使用的代码

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

如果我使用这样的代码,下面是我得到的错误

遇到 PHP 错误 严重性:通知

消息:数组到字符串的转换

文件名:型号/product_model.php

行号: 3550

3550线为array_unique($results外接);

任何人都可以帮助我,为什么它得到这样的错误,如何解决它?

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
        )
)

答案 1

根据 docs,默认情况下将元素作为字符串进行比较。这意味着您的 2D 数组正在转换为字符串数组(所有字符串都是并生成数组到字符串的通知),或者只有一个可以作为唯一返回。array_unique"Array"

使用标志按原样比较元素,但请注意,仅当数组具有相同的键值对时,才会将其视为相等。SORT_REGULAR

例:

print_r(array_unique($array, SORT_REGULAR));

答案 2

推荐