ホームページ  >  記事  >  バックエンド開発  >  PHPの二次元配列から列を取得する方法

PHPの二次元配列から列を取得する方法

PHPz
PHPzオリジナル
2023-04-18 09:05:481123ブラウズ

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。