为获取唯一值,我使用唯一值。以下是我正在使用的代码
array_unique($results_external);
aasort($results_external,"created_on");
$returns_buy_external[]=array_reverse($results_external, true);
如果我使用这样的代码,下面是我得到的错误
遇到严重错误:通知
消息:数组到字符串转换
文件名: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
)
)
答案 0 :(得分:61)
根据the docs,array_unique
默认情况下将元素作为字符串进行比较。这意味着您的2D数组正在被转换为字符串数组(全部为"Array"
并生成数组到字符串通知)或者只有一个可以作为唯一返回。
使用SORT_REGULAR
标志来比较元素,但要注意,如果数组具有相同的键值对,则只认为它们是相等的。
示例:强>
print_r(array_unique($array, SORT_REGULAR));