我想查看数组的第一个元素。此操作等同于此代码:
function peek($list)
{
$item = array_shift($list);
array_unshift($list, $item);
return $item;
}
这段代码对我来说似乎很重要,窥视通常由队列和堆栈库提供。 php有一个已经构建的函数或一些更有效的方法来做到这一点?我搜索了php.net,却找不到任何东西。
为清晰起见,附加说明 该数组不一定用数字索引。数组也可能有一些未设置的项(在数字索引数组的情况下)弄乱了数字排序。假设$ list [0]是第一个元素是不安全的。
答案 0 :(得分:8)
current()函数将为您提供'当前'数组值。如果您不确定您的代码是否已开始迭代数组,则可以使用reset()代替 - 但将重置迭代器, 副作用 - 这也会给你第一个项目。像这样:
$item = current($list);
或
$item = reset($list);
编辑:以上两个函数适用于关联数组和数字数组。注意:既不给出'key',也只给'value'。如果您还需要'key',请使用key()方法获取当前的'key'(当前指的是在迭代数组的情况下程序指向数组的位置 - 参见foreach, for,iterators等。)
答案 1 :(得分:0)
是的,PHP具有偷看功能。它是函数end()。 这会将指针设置为数组的最后一个元素,并返回该值。 如果数组为空,则将返回false。
请参阅:https://www.php.net/manual/en/function.end.php
其他两个堆栈函数是array_pop()和array_push()。