0

配列の最初の項目を2回ループする最もクリーンな方法を見つけようとしています。私のforeachは次のようになります。

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

私が尋ねている理由は、Cookieの設定を必要とするcurlスクリプトをループして実行しているためです。最初のループでは、正しく設定されていませんが、他のすべてのループでは設定されています。理想的には、最初の2回だけヒットし、プルしている値を上書きしたいと思います。

4

2 に答える 2

4

1番目の要素で何かを2回作成する必要がある場合は、この方法で作成できます

$firstItem = true;
foreach ($array as $arr) {
    if ($firstItem) {
       $arr['item'];
       $arr['item'];
       $firstItem = false;
    } else {
       $arr['item'];
    }
}

しかし、2 回作るのではなく、1 回目でうまくいかない理由を見つけたほうがよいのではないでしょうか? 問題を修正する必要があるが、回避策ではないという以前のコメントに+1します。

于 2012-10-23T15:38:53.567 に答える
1

順序が重要でない場合:

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

そうである場合は、エレナの提案を使用することをお勧めします。

于 2012-10-23T15:42:59.477 に答える