Php 在foreach中的第一项循环两次

Php 在foreach中的第一项循环两次,php,Php,我试图找出一种最干净的方法来循环两次数组中的第一项。我的foreach看起来像这样: foreach ($array as $arr) { $arr['item']; } 我问这个问题的原因是因为我正在循环并运行一个需要设置cookie的curl脚本。在第一个循环中,设置不正确,但在所有其他循环中都设置了。理想情况下,我只想在第一个元素中点击两次,然后覆盖我正在提取的值。如果需要在第一个元素中创建两次,可以这样做 $firstItem = true; foreach ($array a

我试图找出一种最干净的方法来循环两次数组中的第一项。我的foreach看起来像这样:

foreach ($array as $arr) {
    $arr['item'];
}

我问这个问题的原因是因为我正在循环并运行一个需要设置cookie的curl脚本。在第一个循环中,设置不正确,但在所有其他循环中都设置了。理想情况下,我只想在第一个元素中点击两次,然后覆盖我正在提取的值。

如果需要在第一个元素中创建两次,可以这样做

$firstItem = true;
foreach ($array as $arr) {
    if ($firstItem) {
       $arr['item'];
       $arr['item'];
       $firstItem = false;
    } else {
       $arr['item'];
    }
}
但与其做两次,也许你应该第一次找出为什么它不起作用?
+1到前面的注释,您应该修复问题,但不能解决它。

如果您需要使用第1个元素进行两次操作,您可以这样做

$firstItem = true;
foreach ($array as $arr) {
    if ($firstItem) {
       $arr['item'];
       $arr['item'];
       $firstItem = false;
    } else {
       $arr['item'];
    }
}
但与其做两次,也许你应该第一次找出为什么它不起作用?
+1到前面的评论,您应该解决问题,但不能解决问题。

如果顺序不重要:

  array_push($array, reset($array));
  foreach ($array as $arr) {
      ...
  }

如果是,最好使用Elena的建议。

如果顺序不重要:

  array_push($array, reset($array));
  foreach ($array as $arr) {
      ...
  }

如果是,最好使用埃琳娜的建议。

听起来你是在试图解决一个问题,而不是在第一次循环中找出问题……正确,先生。我希望保持这种方式。澄清一下,尽快运行一段代码背后有商业原因。这不是生产,我只是需要它工作,现在没有时间调试curl代码。我会回到那一点上。你为什么要故意避免一个问题?无论如何,只需使用
array\u unshift()
将第一个条目输入两次。听起来你是在试图解决一个问题,而不是在第一次循环中找出问题……正确,先生。我希望保持这种方式。澄清一下,尽快运行一段代码背后有商业原因。这不是生产,我只是需要它工作,现在没有时间调试curl代码。我会回到那一点上。你为什么要故意避免一个问题?无论如何,只需使用
array\u unshift()
将第一个条目放入两次即可。