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

PHPで2次元配列を1次元配列に変換する方法

PHPz
PHPzオリジナル
2023-04-03 19:41:211345ブラウズ

PHP でプログラミングする場合、多くの場合、2 次元配列を 1 次元配列に変換する必要があります。では、この操作をどのように実装すればよいでしょうか?

まず最初に、2 次元配列と 1 次元配列が何であるかを明確にする必要があります。 PHP では、1 次元配列は、

$arr1 = array("apple", "banana", "cherry");

のような、カンマで区切られた値のリストです。一方、2 次元配列は、次のような、複数の 1 次元配列を含む配列です。

$arr2 = array(
  array("apple", 2),
  array("banana", 5),
  array("cherry", 8)
);
次に、2 次元配列を 1 次元配列に変換する方法について説明します。実際、この操作は非常に簡単で、PHP の array_column 関数を使用するだけです。この関数の機能は、2 次元配列から指定された列を抽出し、1 次元配列を返すことです。この関数の構文は次のとおりです。

array_column(array, column_key);
このうち、array は取得するデータの 2 次元配列を表し、column_key は取得する列のキー名を表します。

例を見てみましょう。 2 次元配列があり、各 1 次元配列には「fruit」と「quantity」の 2 つのキーが含まれており、それを列「fruit」のみを含む 1 次元配列に変換したいとします。これを行うことができます。 :

$arr2 = array(
  array("fruit" => "apple", "quantity" => 2),
  array("fruit" => "banana", "quantity" => 5),
  array("fruit" => "cherry", "quantity" => 8)
);

$fruits = array_column($arr2, "fruit");

print_r($fruits);
上記のコードの出力結果は次のとおりです:

Array
(
    [0] => apple
    [1] => banana
    [2] => cherry
)
ご覧のとおり、array_column 関数を呼び出すことにより、2 次元配列から「フルーツ」列を正常に抽出しました。 got 果物の名前だけを含む 1 次元配列。

キー名を渡すことに加えて、2 次元配列内で抽出される列の位置を示す整数パラメーターをキー名として渡すこともできます。例:

$arr3 = array(
  array("apple", 2),
  array("banana", 5),
  array("cherry", 8)
);

$fruits = array_column($arr3, 0);

print_r($fruits);
上記のコードの出力は、前の例と同じです。

抽出対象の列が 2 次元配列に存在しない場合、またはキー名または位置パラメータが正しく渡されなかった場合、警告が生成されることに注意してください。

以上、2次元配列を1次元配列に変換する方法を紹介しましたので、PHPプログラミングの参考になれば幸いです。

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

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