PHP では、配列は非常に一般的なデータ型です。配列は通常、キーと対応する値のセットで構成され、キーは配列要素のシリアル番号または名前を表し、値は対応するデータを表します。配列を使っていると配列要素のキー(添字)を削除する場面がよくありますが、この記事ではPHPで配列要素の添字を削除する方法を紹介します。
方法 1: array_values() 関数を使用する
array_values() 関数は、PHP で一般的に使用される関数の 1 つです。配列を取得し、それをインデックス配列として返します (キーの値は 0 から始まり増加します)。この関数は、配列要素の添え字をすばやく削除するのに役立ちます。コードは次のとおりです:
$array = array('a'=>'apple', 'b'=>'banana', 'c'=>'cherry'); $array = array_values($array); print_r($array);
実行結果は次のとおりです:
Array ( [0] => apple [1] => banana [2] => cherry )
コードでは、最初に連想配列を定義します。各要素にはキー値が設定されています。次に、array_values() 関数を使用して元の配列をインデックス配列に変換します。これにより、元の配列内のすべてのキー (添字) が削除され、返された配列内のすべての要素のキーが 0 から増加する数値になります。
方法 2: unset() 関数を使用する
もう 1 つの一般的な方法は、PHP で unset() 関数を使用することです。この関数を使用すると、配列から指定した要素を削除できます。配列全体のキー (添字) を削除する場合は、配列をループし、unset() 関数を使用して各要素のキーを順番に削除できます。コードは次のとおりです:
$array = array('a'=>'apple', 'b'=>'banana', 'c'=>'cherry'); foreach ($array as $key => $value) { unset($array[$key]); } print_r($array);
実行結果は次のとおりです:
Array ( [0] => apple [1] => banana [2] => cherry )
コードでは、最初に連想配列を定義します。次に、foreach ループを使用して配列を反復処理し、unset() 関数を使用して配列内の各要素のキー (添字) を順番に削除します。最後に配列を再度出力すると、配列内のすべての要素がインデックス配列になり、添字が 0 から増加していることがわかります。
方法 3: array_map() 関数を使用する
array_map() 関数は、PHP で一般的に使用される配列処理関数であり、配列内の各要素に対して指定された操作を実行できます。このメソッドでは、array_map() 関数を使用して各要素のキー (添え字) を空に割り当てることができます。コードは次のとおりです:
$array = array('a'=>'apple', 'b'=>'banana', 'c'=>'cherry'); $array = array_map(function($value){ return $value; }, $array); print_r($array);
実行結果は次のとおりです:
Array ( [a] => apple [b] => banana [c] => cherry )
コードでは、まず連想配列を定義し、次に array_map() 関数を使用して配列内の各要素にコールバック関数を適用します。コールバック関数では、各要素の値を返すだけで、要素に対しては何も行いません。これにより、元の配列と同じ数と順序の要素を持つ新しい配列が作成されますが、すべての要素のキー (添字) が空になります。
概要
上記の 3 つの方法により、PHP で配列要素の添字 (キー) を簡単に削除し、配列をインデックス付き配列に変換できます。 array_values() 関数はすべての配列タイプに適用でき、unset() 関数は連想配列に適用でき、array_map() 関数は任意の配列タイプに適用できます。これらの方法を使用する場合は、特定の状況に応じて適切な方法を選択する必要があります。
以上がPHP配列から添字を削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。