PHP 言語では、配列は一般的に使用されるデータ構造です。 2 次元配列は、配列内の各要素も配列であることを意味します。 2次元配列を処理する際、特定の列を削除する必要がある場合がありますが、この記事ではPHPで2次元配列の列を削除する方法を紹介します。
1. ループ走査を使用する
2 次元配列の列を取り出す最も簡単な方法は、ループを使用して配列を走査することです。まず配列内のすべての要素の列をループし、次にこれらの列を新しい配列に結合します。次のコードは例です。
$students = array( array('name'=>'Alice', 'age'=>18, 'score'=>89), array('name'=>'Bob', 'age'=>19, 'score'=>92), array('name'=>'Cathy', 'age'=>18, 'score'=>91), array('name'=>'David', 'age'=>20, 'score'=>87), ); $scores = array(); foreach ($students as $student) { $scores[] = $student['score']; } print_r($scores);
上記のコードは、2 次元配列 $students 内のすべての要素のスコア列を取り出し、それを新しい配列 $scores に形成します。ここでは、foreach ループを使用して配列を走査し、対応するスコア値が配列要素ごとに取得され、新しい配列 $scores に追加されます。
2. array_column 関数を使用する
PHP には、2 次元配列の列を簡単に抽出できる array_column 関数が用意されています。サンプル コードは次のとおりです。
$students = array( array('name'=>'Alice', 'age'=>18, 'score'=>89), array('name'=>'Bob', 'age'=>19, 'score'=>92), array('name'=>'Cathy', 'age'=>18, 'score'=>91), array('name'=>'David', 'age'=>20, 'score'=>87), ); $scores = array_column($students, 'score'); print_r($scores);
上記のコードは、array_column 関数を使用して、2 次元配列 $students 内のすべての要素のスコア列を取り出し、それを新しい配列 $scores に形成します。このうち、第一引数は二次元配列、第二引数は抽出する列名です。
array_column 関数には PHP バージョン 5.5.0 以降が必要であることに注意してください。そうでない場合はエラーが報告されます。
3. array_map 関数を使用する
array_column 関数に加えて、array_map 関数を使用して 2 次元配列から列を抽出することもできます。次のコードは例です。
$students = array( array('name'=>'Alice', 'age'=>18, 'score'=>89), array('name'=>'Bob', 'age'=>19, 'score'=>92), array('name'=>'Cathy', 'age'=>18, 'score'=>91), array('name'=>'David', 'age'=>20, 'score'=>87), ); $scores = array_map(function($student) { return $student['score']; }, $students); print_r($scores);
上記のコードは、array_map 関数を使用して、2 次元配列 $students 内のすべての要素のスコア列を取り出し、それを新しい配列 $scores に形成します。このうち、最初のパラメータはコールバック関数、2 番目のパラメータは操作対象の配列です。
array_map 関数の効率は比較的低く、大規模な配列を処理する場合にはパフォーマンスの問題が発生する可能性があることに注意してください。
列を取得する方法はいくつかありますが、最も一般的に使用される方法は、array_column 関数を使用することです。 array_column 関数は、列をフェッチするだけでなく、指定された列の値をフェッチして新しい配列を形成したり、別のインデックス列を新しい配列のキーとして使用したりすることもできます。これらの機能は非常に実用的であり、実際の開発効率を向上させることができます。
以上がPHPの二次元配列から列を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。