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

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

PHPz
PHPzオリジナル
2023-04-23 09:08:341060ブラウズ

PHP は、Web 開発によく使用される人気のあるプログラミング言語です。 PHP では、配列は多くのシナリオで広く使用されている非常に実用的なデータ型です。 2 次元配列は、それぞれが固定数の要素を含む複数の配列で構成される特殊な配列タイプです。通常、各配列は行を表し、各要素はその行の列を表します。 2 次元配列から特定の列を取得する必要がある場合、PHP が提供する複数の関数とテクニックを使用してこれを実現できます。

方法 1: foreach ループを使用する

foreach ループを使用して 2 次元配列を走査するのは、簡単で直接的な方法です。ループ中に、配列の添字を使用して各配列内の特定の列を取得できます。たとえば、次のプログラムは、2 次元配列から特定の列を取得する方法を示しています。配列にはそれぞれ「名前」と「年齢」を表す 2 つの行があり、各行には「Zhang San」と「Li Si」の名前と年齢を表す 2 つの列があります。

$students = array(
    array("name" => "张三", "age" => 18),
    array("name" => "李四", "age" => 20)
);

foreach($students as $row){
    echo $row["name"] ."的年龄是:".$row["age"]."<br>";
}

上記のプログラムでは、$students 配列が foreach ループを使用して走査されます。各ループでは、$row には現在の配列の要素、つまり「name」列と「age」列を含む連想配列が含まれます。添字 "name" と "age" は、それぞれ配列内の 2 つの列を表します。$row["name"] と $row["age"] を使用して、これら 2 つの列をそれぞれ取得できます。

方法 2: array_column 関数を使用する

array_column 関数は、多次元配列内の指定された列を取得するために PHP が提供する関数です。この関数には 2 つのパラメータが必要です。最初のパラメータは取得する列の元の配列で、2 番目のパラメータは取得する列の名前 (添字) を指定します。

次のプログラムは、array_column 関数を使用して 2 次元配列から特定の列を取得する方法を示しています。この配列は、上記のプログラムの $students 配列と同じです。取得する必要がある列は「名前」列です。

$names = array_column($students, "name");
print_r($names);

上記のプログラムでは、array_column 関数を使用して $students 配列から "name" 列を取り出し、$names 配列に格納しています。 $names 配列の出力結果は次のようになります。

Array ( [0] => 张三 [1] => 李四 )

方法 3: array_map 関数を使用する

array_map 関数は、1 つ以上の要素を変換できる PHP のもう 1 つの非常に便利な関数です。配列 コールバック関数を渡し、関数の戻り値を新しい配列に格納します。

次のプログラムは、array_map 関数を使用して 2 次元配列から特定の列を取得する方法を示しています。この配列は、上記のプログラムの $students 配列と同じです。削除する必要がある列は「年齢」列です。

$ages = array_map(function($row) { return $row['age']; }, $students);
print_r($ages);

上記のプログラムでは、無名関数を使用して $students 配列から「年齢」列を削除しています。 array_map 関数を使用して $students 配列を反復処理し、配列から一度に 1 行のデータを取り出し、次に無名関数を呼び出してその行の「age」列を取り出し、最後に結果を $ に保存します。年齢配列。 $ages 配列を出力した結果は次のようになります。

Array ( [0] => 18 [1] => 20 )

要約

上記は、PHP の 2 次元配列から列を抽出する 3 つの方法です。その中でもforeachループを使うのは最も基本的な方法であり、非常に理解しやすく使いこなすのも簡単で、array_column関数を使うと指定したカラムの値をすべて素早く取り出して新しい配列に格納することができます。 ; また、array_map 関数の使用は非常に柔軟であり、カスタム コールバック関数を簡単に呼び出して、データの各行の特定の列を処理できます。状況に応じて、2 次元配列内の列を処理するのに最適な方法を選択できます。

以上がPHPの二次元配列から列を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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