1

这是我第一次使用 array_unique,我不确定我是否做错了什么。

我有以下代码:

array_unique($items);
print_r($items);
foreach ($items as $item) {
echo "$item <br />";
}

print_r 正在返回: Array ( [0] => SimpleXMLElement Object ( [0] => Tirana ) [1] => SimpleXMLElement Object ( [0] => Tirana ) [2] => SimpleXMLElement Object ( [0] => Tirana ) )

循环中的回声正在返回:地拉那地拉那地拉那

4

1 回答 1

1

SimpleXMLElement 类说: __toString() 返回直接在该元素中的文本内容。不返回此元素的子元素内的文本内容。

从 print_r 输出看,文本看起来是对象的子对象。如果文本不是孩子,那么看起来 array_unique 确实可以工作。

array_unique: 两个元素被认为相等当且仅当 (string) $elem1 === (string) $elem2。换句话说:当字符串表示相同时。如果如文档所述,SimpleXMLElement 的文本不是对象的子对象,这应该可以工作。

于 2013-12-16T01:11:01.230 回答