我发现自己使用了这个:
$var=(string)array_shift(array_values($item->xpath($s)));
其中$ s是xpath搜索字符串,返回值是包含字符串的对象数组。
它有效,但我不确定这是获取我想要的数据的最佳方式。
我可以使用tempvar,但我想避免这种情况。
有什么建议吗?
答案 0 :(得分:10)
小心array_shift,因为它会从数组堆栈中删除元素,如果你只想要第一个值,你可以使用current:
$var = (string) current($item->xpath($s));
答案 1 :(得分:0)
我相信这会得到相同的结果。
$var=array_shift($item->xpath($s));
答案 2 :(得分:0)
$var = $reset($item->xpath($s));
请注意,这会倒回数组的内部指针并返回第一个元素。方法current
返回指针碰巧所在位置的元素 - 不保证始终是第一个元素。