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

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

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

PHP では、2 次元配列は非常に一般的なデータ構造です。ただし、場合によっては、2 次元配列を 1 次元配列に変換する必要があります。この記事では、この機能を実現するいくつかの方法について説明します。

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

最も基本的な方法の 1 つは、foreach ループを使用して 2 次元配列全体を走査し、各値を 1 次元配列に追加することです。コードは次のとおりです。

$twoDimensionalArray = array(
    array('fruit'=>'apple', 'color'=>'red'),
    array('fruit'=>'banana', 'color'=>'yellow'),
    array('fruit'=>'grape', 'color'=>'purple')
);

$oneDimensionalArray = array();

foreach($twoDimensionalArray as $key=>$value){
    foreach($value as $k=>$v){
        $oneDimensionalArray[] = $v;
    }
}

print_r($oneDimensionalArray);

//输出结果如下:
Array
(
    [0] => apple
    [1] => red
    [2] => banana
    [3] => yellow
    [4] => grape
    [5] => purple
)

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

もう 1 つの方法は、2 つ以上の配列を 1 つの配列にマージする array_merge 関数を使用することです。この関数を使用すると、2D 配列の各行を 1D 配列に変換し、それらを 1 つの配列にマージできます。コードは次のとおりです。

$twoDimensionalArray = array(
    array('fruit'=>'apple', 'color'=>'red'),
    array('fruit'=>'banana', 'color'=>'yellow'),
    array('fruit'=>'grape', 'color'=>'purple')
);

$oneDimensionalArray = array();

foreach($twoDimensionalArray as $value){
    $oneDimensionalArray = array_merge($oneDimensionalArray, array_values($value));
}

print_r($oneDimensionalArray);

//输出结果如下:
Array
(
    [0] => apple
    [1] => red
    [2] => banana
    [3] => yellow
    [4] => grape
    [5] => purple
)

方法 3: array_reduce 関数の使用

最後の方法は、array_reduce 関数を使用することです。これは、配列内の各値にコールバック関数を適用し、単一の値。この例では、array_reduce 関数を使用して、2 次元配列の各行を 1 次元配列に変換し、すべての行の 1 次元配列を 1 つの大きな配列にマージできます。コードは次のとおりです:

$twoDimensionalArray = array(
    array('fruit'=>'apple', 'color'=>'red'),
    array('fruit'=>'banana', 'color'=>'yellow'),
    array('fruit'=>'grape', 'color'=>'purple')
);

$oneDimensionalArray = array_reduce($twoDimensionalArray,function($carry,$item){
    return array_merge($carry,array_values($item));
},array());

print_r($oneDimensionalArray);

//输出结果如下:
Array
(
    [0] => apple
    [1] => red
    [2] => banana
    [3] => yellow
    [4] => grape
    [5] => purple
)

概要:

上記の 3 つのメソッドは、2 次元配列を 1 次元配列に変換するのに役立ちます。大量のデータを扱う場合は、そのパフォーマンスと効率をテストする必要がある場合があります。パフォーマンスと適合性を比較して、タスクに最も適した方法を選択してください。

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

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