インターネット技術の継続的な発展に伴い、Web 開発はますます注目を集めています。 PHP は高性能スクリプト言語として、Web 開発でも重要な役割を果たします。 PHP 開発では、2 次元配列は一般的なデータ構造であり、複数のデータ レコードを保存してこれらのデータの操作を容易にするために使用できます。この記事では主にPHPを使って2次元配列の値を新しい配列に変換する方法を紹介します。
2 次元配列とは
PHP では、配列は非常に重要なデータ構造であり、順序付けられた一連の要素で構成され、各要素にはキーと対応する値があります。二次元配列は 2 次元の配列であり、複数の 1 次元配列を格納でき、各 1 次元配列には一意のキーと対応する値があります。
次は、2 次元配列の作成方法を示す簡単な例です。
$students = array( array("name"=>"小明", "age"=>18, "gender"=>"男"), array("name"=>"小红", "age"=>20, "gender"=>"女"), array("name"=>"小刚", "age"=>19, "gender"=>"男") );
上記のコードは、3 つの 1 次元配列を含む 2 次元配列を作成します。それぞれの配列は 1 次元配列です。名前、年齢、性別などの学生に関する基本情報を表します。
2次元配列の値を新しい配列に変換する方法
2次元配列に対して複雑な処理を実行する必要がある場合、それを新しい配列に変換します。とても便利な方法です。 PHPを使って2次元配列の値を新しい配列に変換する方法を紹介します。
PHP には、2 次元配列から特定の列の値を取得し、次のようにフォーマットするために使用できる、非常に便利な関数 array_column が用意されています。新しい配列が返されます。この関数の構文は次のとおりです。
array array_column(array $input, mixed $column_key [, mixed $index_key = null])
このうち、$input パラメータは処理対象の 2 次元配列、$column_key パラメータは指定されたカラム名または数値キー、$index_keyパラメータはオプションのパラメータで、配列の新しいキー名を指定するために使用されます。以下に例を示します。
$students = array( array("name"=>"小明", "age"=>18, "gender"=>"男"), array("name"=>"小红", "age"=>20, "gender"=>"女"), array("name"=>"小刚", "age"=>19, "gender"=>"男") ); $names = array_column($students, "name"); print_r($names);
上記のコードは、$students 配列から「name」という名前の列を取得し、それを新しい配列 $names として保存します。出力結果は次のとおりです。
Array ( [0] => 小明 [1] => 小红 [2] => 小刚 )
array_column 関数の使用に加えて、foreach ループを使用して 2 次元配列を変換することもできます。新しい配列に。以下は簡単な例です:
$students = array( array("name"=>"小明", "age"=>18, "gender"=>"男"), array("name"=>"小红", "age"=>20, "gender"=>"女"), array("name"=>"小刚", "age"=>19, "gender"=>"男") ); $names = array(); foreach ($students as $student) { $names[] = $student["name"]; } print_r($names);
上記のコードは、まず空の配列 $names を作成し、次に foreach ループを通じて $students 配列内の各 1 次元配列を走査して、その " に対応する値を取得します。 name" キーを取得し、それを $names 配列に追加します。出力結果は次のとおりです。
Array ( [0] => 小明 [1] => 小红 [2] => 小刚 )
上記の 2 つの方法に加えて、array_map 関数を使用して、次の値を変換することもできます。 2 次元配列を新しい配列に変換します。 array_map 関数は、配列内の各要素にコールバック関数を適用し、新しい配列を返します。以下に例を示します。
$students = array( array("name"=>"小明", "age"=>18, "gender"=>"男"), array("name"=>"小红", "age"=>20, "gender"=>"女"), array("name"=>"小刚", "age"=>19, "gender"=>"男") ); $names = array_map(function($student) { return $student["name"]; }, $students); print_r($names);
上記のコードは、最初に匿名コールバック関数を定義します。この関数は、$students 配列内の各 1 次元配列の「name」値を取得し、それを要素として使用するために使用されます。新しい配列の 。その後、array_map 関数を使用してコールバック関数を実行し、返された要素を新しい配列 $names に形成します。出力は次のとおりです。
Array ( [0] => 小明 [1] => 小红 [2] => 小刚 )
概要
上記では、PHP の 2 次元配列の値を新しい配列に変換するために使用できる 3 つの一般的なメソッドを紹介しています。 array_column 関数、foreach ループ、array_map 関数のいずれを使用しても、それぞれ長所と短所はありますが、同じ効果を実現できます。実際のプロジェクトでは、状況に応じて最適な方法を選択する必要があります。
以上がPHPで2次元配列の値を新しい配列に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。