ホームページ > バックエンド開発 > PHPの問題 > PHPで2次元配列の値を新しい配列に変換する方法

PHPで2次元配列の値を新しい配列に変換する方法

PHPz
リリース: 2023-04-23 09:23:06
オリジナル
970 人が閲覧しました

インターネット技術の継続的な発展に伴い、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次元配列の値を新しい配列に変換する方法を紹介します。

  1. array_column 関数

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] => 小刚
)
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
  1. foreach ループ

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] => 小刚
)
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
  1. array_map 関数

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート