PHP では、配列は非常に一般的に使用されるデータ構造です。配列では、文字列または数値をキーとして使用して、複数の値を格納できます。通常、配列操作を実行するときは、配列の並べ替え、重複排除、フィルター処理などの操作を実行する必要があります。場合によっては、配列からキーを削除し(つまり、キーの番号を付け直す)、配列のインデックスを 0 から開始する必要があります。この記事では、PHP で配列キーを削除する方法について説明します。
1. array_values 関数を使用する
PHP には、配列内のすべての値のインデックスを再作成し、新しい配列を返すことができる array_values と呼ばれる関数が用意されています。この関数を使用すると、配列キーを簡単に削除できます。
サンプル コード:
<?php $arr = array('a'=>'apple', 'b'=>'banana', 'c'=>'cherry'); $new_arr = array_values($arr); print_r($new_arr); ?>
出力結果:
Array ( [0] => apple [1] => banana [2] => cherry )
この例では、元の配列には 3 つの要素と 3 つのキーが含まれています。この配列を array_values 関数に渡すと、結果の新しい配列には 3 つの要素のみが含まれ、そのキーは 0 から始まる番号が付け直されます。この方法を使用すると、元の配列を変更することなく、配列キーを簡単に削除できます。
2. foreach を使用して走査する
array_values 関数の使用に加えて、foreach ステートメントを使用して元の配列を走査し、新しい配列に要素を挿入することもできます。
サンプル コード:
<?php $arr = array('a'=>'apple', 'b'=>'banana', 'c'=>'cherry'); $new_arr = array(); foreach($arr as $value) { $new_arr[] = $value; } print_r($new_arr); ?>
出力結果:
Array ( [0] => apple [1] => banana [2] => cherry )
この例では、foreach ステートメントを使用して元の配列を反復処理します。配列をループして、元の配列の各要素を新しい配列に挿入します。最後に、結果の新しい配列では元の配列のキーが削除され、要素に 0 から始まるインデックスを付けることができます。
3. array_map 関数を使用する
array_values と foreach ステートメントの使用に加えて、PHP の組み込み関数 array_map も使用できます。この関数は、関数を 1 つ以上の配列に適用し、関数によって返された結果を含む新しい配列を返します。
サンプル コード:
<?php $arr = array('a'=>'apple', 'b'=>'banana', 'c'=>'cherry'); $new_arr = array_map(function($value) { return $value; }, $arr); print_r($new_arr); ?>
出力結果:
Array ( [a] => apple [b] => banana [c] => cherry )
この例では、array_map 関数を使用して無名関数を適用しました。無名関数は要素自体を返すだけなので、新しい配列の要素は元の配列の要素と同じです。
array_map 関数を使用して配列キーを削除するのは少し冗長に見えるかもしれませんが、柔軟で応用可能です。たとえば、この関数を使用して、配列内の各値を大文字に変換し、その過程で配列キーを削除できます。
サンプル コード:
<?php $arr = array('a'=>'apple', 'b'=>'banana', 'c'=>'cherry'); $new_arr = array_map(function($value) { return strtoupper($value); }, $arr); print_r($new_arr); ?>
出力結果:
Array ( [a] => APPLE [b] => BANANA [c] => CHERRY )
array_map 関数を使用すると、元の配列を変更せずに、配列を迅速かつ柔軟に操作できます。
4.reset 関数と prev 関数を使用する
PHP には、配列をループして最初または前の要素を返すことができる、reset 関数と prev 関数が用意されています。これら 2 つの関数を使用すると、配列から要素を順番に取得し、新しい配列に挿入できます。
サンプル コード:
<?php $arr = array('a'=>'apple', 'b'=>'banana', 'c'=>'cherry'); $new_arr = array(); while (list(, $value) = each($arr)) { $new_arr[] = $value; } print_r($new_arr); ?>
出力結果:
Array ( [0] => apple [1] => banana [2] => cherry )
この例では、while ループを使用して元の配列を反復処理し、それぞれのメソッドを使用してその各要素を取得します。関数。ループ内で、各要素を新しい配列に挿入します。最後に、結果の新しい配列では配列キーが削除されます。
reset 関数と prev 関数の使用は他の方法ほど高速ではないかもしれませんが、柔軟で適用可能であり、他の配列操作にも使用できます。
結論
PHP で配列キーを削除することは、配列をよりコンパクトにして操作しやすくするため、一般的なタスクです。この記事では、配列キーを削除する 4 つの方法 (array_values 関数の使用、foreach トラバーサルの使用、array_map 関数の使用、reset 関数と prev 関数の使用) を紹介しました。これらの方法により、さまざまなニーズに合わせて配列を柔軟に操作できます。配列に対してどのような操作を行う場合でも、この記事で説明されているように、元の配列を保護し、新しい配列を使用して操作を実行することが重要です。
以上がPHPで配列キーを削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。