1

我想检查多个数组中的匹配值,所以我通过将它们推入创建了一个多维数组$array,然后编写了这行代码:

$result = call_user_func_array('array_intersect', $array);

我得到了我想要的结果,但我总是在特定的代码行上得到这个通知:

Notice: Array to string conversion

想知道这是什么原因造成的。希望有人能启发我。

4

1 回答 1

1

您的数组(内部的第一级项目$array)本身包含数组。这是不支持的array_intersect,因为它将数组项视为字符串以确定相等性:

注意:当且仅当 时,两个元素被认为相等(string) $elem1 === (string) $elem2。换句话说:当字符串表示相同时。

如果不知道您到底要做什么,我不能肯定地说,但是一个可能的解决方案是使用array_uintersect它,它允许您在代码中指定如何比较项目,而不必将它们转换为字符串。

于 2013-09-18T10:26:58.523 回答