Php 获取返回数组的第一个元素的更好方法
我发现自己在使用这个:Php 获取返回数组的第一个元素的更好方法,php,arrays,Php,Arrays,我发现自己在使用这个: $var=(string)array_shift(array_values($item->xpath($s))); 其中,$s是xpath搜索字符串,返回的是包含字符串的对象数组 这是可行的,但我不确定这是获得我想要的数据的最佳方式 我可以使用tempvar,但我想避免这种情况 有什么建议吗?我相信这会给出同样的结果 $var=array_shift($item->xpath($s)); 小心,因为它将从数组堆栈中删除元素,如果您只需要第一个值,可以使用:
$var=(string)array_shift(array_values($item->xpath($s)));
其中,$s是xpath搜索字符串,返回的是包含字符串的对象数组
这是可行的,但我不确定这是获得我想要的数据的最佳方式
我可以使用tempvar,但我想避免这种情况
有什么建议吗?我相信这会给出同样的结果
$var=array_shift($item->xpath($s));
小心,因为它将从数组堆栈中删除元素,如果您只需要第一个值,可以使用:
请注意,这将倒回数组的内部指针并返回第一个元素。方法
current
返回指针恰好所在位置的元素-不保证总是第一个元素 我认为array\u值在这里是无用的。使用PHP5.4,您可以执行$item->xpath($s)[0]
为什么要在这里避免使用变量?$results=$item->xpath($s)有什么问题$var=(字符串)$results[0]
?@knittl语法错误,在我尝试您的版本时,/home/…第211行
中出现意外的“[”。我的php版本可能略高于5。4@TecBrat:函数调用上的数组下标是在PHP5.4(今天发布)中添加的,以前从未见过current()
。谢谢。这应该是很多问题的答案我在各种PHP论坛上看到了“获取第一个元素”的问题。还有一个end()
,它将获取最后一个元素。
$var = (string) current($item->xpath($s));
$var = $reset($item->xpath($s));