【问题标题】:array_unique showing error Array to string conversionarray_unique 显示错误数组到字符串的转换
【发布时间】:2014-07-31 00:59:41
【问题描述】:

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

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

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

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

【问题讨论】:

  • 3550行是array_unique($results_external);
  • $results_external 的内容是什么?
  • Print_r($results_external) 发帖
  • 我打印了请检查一下
  • @Naruto 问题通过添加 array_map("unserialize", array_unique(array_map("serialize", $input))); 解决

标签: php codeigniter codeigniter-url


【解决方案1】:

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

使用SORT_REGULAR 标志来比较元素,但请注意,只有具有相同键值对的数组才被视为相等。

示例:

print_r(array_unique($array, SORT_REGULAR));

【讨论】:

  • 升级(finally)到 php7 后有很多错误需要清理,这个小金块解决了其中的一些问题!
猜你喜欢
  • 1970-01-01
  • 2013-12-09
  • 2015-02-26
  • 2012-07-15
  • 2017-12-02
  • 1970-01-01
  • 2013-06-23
  • 2013-08-24
相关资源
最近更新 更多