我试图“比较”两个数组,PHP 返回以下错误:
Catchable fatal error: Object of class Node could not be converted to string in D:\projetos\labs\dok\dev\application\models\dok.php on line 410
我的数组分别是:
array(2)
object(Node)#5 ...[7 attributes]
object(Node)#6 ...[7 attributes]
array(1)
object(Node)#5 ....[7 attributes]
我真的很感谢这里的一些帮助,因为我不知道发生了什么。
根据要求,差异周围的代码:
// is it a distant child?
$all_childs = $node->get_childs(true);
$distant_childs = array_diff($all_childs, $childs);
if(in_array($this, $distant_childs))
return 'distant-child';
注:
两个元素被认为相等当且仅当 (string) $elem1 === (字符串)$elem2。换句话说:当字符串表示相同时。
如果元素是对象,则需要为该对象提供 __toString() 方法,或者你自己做。