我想查看数组的第一个元素。此操作等同于此代码:
function peek($list)
{
$item = array_shift($list);
array_unshift($list, $item);
return $item;
}
这段代码对我来说似乎真的很重,而且 peek 通常由队列和堆栈库提供。 php 是否有一个已经构建的函数或一些更有效的方法来做到这一点?我搜索了 php.net 但找不到任何东西。
为清楚起见的附加说明: 该数组不一定是数字索引的。数组也可能有一些未设置的项目(在数字索引数组的情况下)弄乱了数字顺序。假设 $list[0] 是第一个元素是不安全的。
最佳答案
current()函数将为您提供“当前”数组值。如果您不确定您的代码是否已经开始遍历数组,您可以使用 reset()相反 - 但是这将重置迭代器,是一个副作用 - 这也会给你第一个项目。像这样:
$item = current($list);
或
$item = reset($list);
编辑:以上两个函数适用于关联数组和数值数组。注意:既没有给出“键”,也没有给出“值”。如果您还需要“ key ”,请使用 key()获取当前“键”的方法(当前指的是在迭代数组的情况下程序在数组中指向的位置 - 参见 foreach、for、迭代器等)
关于php - PHP有peek数组操作吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28991041/