Error with array_unique



我做错了什么?如果我只运行这个:

$region = EM_Locations::get(array('orderby'=>'region_name'));

一切都好。然而,当我添加array_unique:

$region = EM_Locations::get(array('orderby'=>'region_name'));
$reg = array_unique($region)

它中断并得到"EM_Location could not convert to string"

array_unique()将作为字符串处理的值进行排序,两个元素是当且仅当(string) $elem1 === (string) $elem2

您可以为EM_Location类添加__toString()方法

来自array_unique的文档:

array_unique()首先将作为字符串处理的值排序,然后将保留每个值遇到的第一个键,忽略所有值后钥匙。

这意味着值必须转换为字符串进行比较,但是您的值似乎是EM_Location类型,PHP无法找出如何转换为字符串

相关内容

  • 没有找到相关文章

最新更新