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

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

PHPz
リリース: 2023-04-20 14:27:17
オリジナル
744 人が閲覧しました

PHP は、特に Web 開発の世界で非常に人気のあるプログラミング言語です。 PHP プログラマーにとって、配列の操作は非常に一般的なタスクです。多くの場合、2 次元配列を 1 次元配列に変換する必要があります。この記事では、PHP でこれを実現する方法について説明します。

2 次元配列と 1 次元配列とは何ですか?

PHP では、配列は複数の値を格納するために使用される変数タイプと考えることができます。これらの値はそれぞれ要素と呼ばれ、各要素は一意のインデックスによって識別されます。 PHP には、1 次元配列と 2 次元配列という 2 つの配列タイプがあります。

1 次元配列はインデックスと値で構成される単純なリストで、各値には一意のインデックスがあります。イテレータを使用して 1 次元配列を走査できます。

2 次元配列は、複数のリストで構成されるリストです。メインインデックスとサブインデックスで構成されます。 2 次元配列を走査するには、ネストされた反復子を使用する必要があります。

2 次元配列を 1 次元配列に変換するにはどうすればよいですか?

PHP では、組み込みの array_column 関数を使用して、2 次元配列を 1 次元配列に簡単に変換できます。 array_column 関数を使用すると、多次元配列から列を取得し、新しい 1 次元配列を返すことができます。

array_column の構文は次のとおりです。

array_column(array $array, mixed $column_key, mixed $index_key = null): array
ログイン後にコピー

このうち、$array パラメータは指定された配列、$column_key はキー名または返される値の位置、$ Index_key は、新しい配列キーとして使用されます。キーの名前または場所。 $index_key パラメータが指定されていない場合は、数値インデックスが使用されます。

次は、2 次元配列を 1 次元配列に変換する例です:

$array = array(
    array('id' => 1, 'name' => 'Tom', 'age' => 30),
    array('id' => 2, 'name' => 'Jerry', 'age' => 25),
    array('id' => 3, 'name' => 'Mike', 'age' => 35)
);

$names = array_column($array, 'name');
print_r($names);
ログイン後にコピー

これにより、次の結果が出力されます:

Array
(
    [0] => Tom
    [1] => Jerry
    [2] => Mike
)
ログイン後にコピー

この例では、 array_column 関数を使用して変換します。2 次元配列 $array 内の各要素の「name」値が抽出されて、新しい 1 次元配列 $names が生成されます。

数値インデックスを新しい配列キーとして使用する場合は、次のように $index_key パラメーターに数値を使用することに注意してください:

$ids = array_column($array, 'id', 0);
print_r($ids);
ログイン後にコピー

これにより、次の結果が出力されます。 :

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
)
ログイン後にコピー

この例では、新しい配列のキーを元の 2D 配列の最初の要素に設定します。

結論

配列の操作は、PHP 開発において非常に一般的なタスクです。 2 次元配列から 1 次元配列への変換は、このタスクの 1 つの操作です。 PHP では、array_column 関数を使用してこれを簡単に実現できます。この関数を使用すると、2 次元配列から列を抽出し、新しい 1 次元配列を生成できます。

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

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