PHP有一个peek数组操作吗?

dan*_*317 4 php arrays queue stack

我想看一下数组的第一个元素.此操作将等效于此代码:

function peek($list)
{
  $item = array_shift($list);
  array_unshift($list, $item);
  return $item;
}
Run Code Online (Sandbox Code Playgroud)

这段代码对我来说似乎很重要,而peek通常由队列和堆栈库提供.php有一个已经构建的函数或一些更有效的方法来做到这一点?我搜索了php.net但无法找到任何东西.

为清楚起见,附加说明: 数组不一定是数字索引.数组也可能有一些未设置的项(在数字索引数组的情况下)弄乱了数字排序.假设$ list [0]是第一个元素是不安全的.

小智 8

电流()函数会给你的"当前"数组数值.如果你不确定你的代码是否已经开始迭代数组,你可以使用reset()代替 - 但这重置迭代器,这一个副作用 - 它也会给你第一个项目.像这样:

$item = current($list);
Run Code Online (Sandbox Code Playgroud)

要么

$item = reset($list);
Run Code Online (Sandbox Code Playgroud)

编辑:以上两个函数适用于关联和数字数组.注意:既不给'键',也只给'值'.如果你还需要'key',使用key()方法获取当前的'key'(当前指的是在迭代数组的情况下程序指向数组的位置 - 参见foreach,for,迭代器等)