これは、これを 1 回だけ行うか複数回行うか、および後で元の配列が必要かどうかによって異なります。
「初めて」のパターン
$first = true;
foreach ($array as $key=>value) {
if($first) {
$first = false;
continue;
}
// ... more code ...
}
私は個人的にこのソリューションをかなり頻繁に使用しています。また、新しい配列を作成してもパフォーマンスが低下することはなく、ループ後も元の配列を操作できます。
ただし、このようなループが 2 つある場合は、ループごとに 5 行の追加コードが必要になるため、少し不潔に見え始めます。
array_shift
array_shift($array);
foreach ($array as $key=>value) {
// .... more code ....
}
array_shift
は、最初の要素を必要としないというこの特殊なケースに合わせて調整された関数です。$array = array_slice($array, 1)
本質的には、特に元の配列を変更するため、完全に明白ではないかもしれないPerlっぽい言い方です。
したがって、シフトされた配列が複数回必要であり、後で元の配列も必要な場合は、元の配列のコピーを作成してシフトすることをお勧めします。
配列スライス
そしてもちろん、array_slice
それ自体があります。array_slice
元の配列を変更せずに残しておき、スライスされた配列を複数回必要とする場合は、何も問題はありません。ただし、常に 1 つの要素だけを切り取りたいと確信している場合は、短縮形を使用することもできますarray_shift
(必要に応じて前にコピーを作成します)。