ホームページ > バックエンド開発 > PHPの問題 > PHPを使用して2D配列を1D配列に変換する方法

PHPを使用して2D配列を1D配列に変換する方法

PHPz
リリース: 2023-04-25 09:51:51
オリジナル
1103 人が閲覧しました

PHP では、2 次元配列は複数の 1 次元配列で構成される配列であり、プログラミングにおいて非常に一般的なデータ構造です。ただし、特定のシナリオでは、プログラムの使用と処理を容易にするために、2 次元配列を 1 次元配列に変換する必要がある場合があります。

以下、PHPを使って2次元配列を1次元配列に変換する方法を紹介します。

1. foreach ループを使用する

最も一般的な方法は、foreach ループを使用して 2 次元配列の各要素を抽出し、それを新しい 1 次元配列に格納することです。

$array = array(
    array('id' => 1, 'name' => 'Tom'),
    array('id' => 2, 'name' => 'Jerry')
);

$newArray = array();
foreach ($array as $value) {
    foreach ($value as $val) {
        $newArray[] = $val;
    }
}
print_r($newArray);
ログイン後にコピー

出力結果:

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

2. array_reduce 関数を使用する

PHP の array_reduce 関数を使用して 2 次元配列を処理することもできます。

$array = array(
    array('id' => 1, 'name' => 'Tom'),
    array('id' => 2, 'name' => 'Jerry')
);

$newArray = array_reduce($array, function ($result, $item) {
    return array_merge($result, array_values($item));
}, array());

print_r($newArray);
ログイン後にコピー

出力結果:

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

3. array_column 関数を使用する

2 次元配列内の特定の列だけを抽出する必要がある場合は、PHP の array_column 関数を使用できます。 。

$array = array(
    array('id' => 1, 'name' => 'Tom', 'age' => 18),
    array('id' => 2, 'name' => 'Jerry', 'age' => 20)
);

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

出力結果:

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

4. 関数を使用して配列を再帰的に変換します

2 次元配列のネストされた次元が固定されていない場合は、次のように使用できます。変換する再帰関数。

$array = array(
    array('id' => 1, 'name' => 'Tom', 'languages' => array('PHP', 'Java')),
    array('id' => 2, 'name' => 'Jerry', 'languages' => array('Python', 'C++'))
);

function convert($array) {
    $newArray = array();
    foreach ($array as $value) {
        if (is_array($value)) {
            $newArray = array_merge($newArray, convert($value));
        } else {
            $newArray[] = $value;
        }
    }
    return $newArray;
}

$newArray = convert($array);
print_r($newArray);
ログイン後にコピー

出力結果:

Array (
    [0] => 1
    [1] => Tom
    [2] => PHP
    [3] => Java
    [4] => 2
    [5] => Jerry
    [6] => Python
    [7] => C++
)
ログイン後にコピー

上記は2次元配列を1次元配列に変換する方法をいくつか示していますが、実際の状況に応じて適切な方法を選択すると、効率と可読性が大幅に向上します。コードの。

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

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