ホームページ > バックエンド開発 > PHPチュートリアル > キーの値に基づいて 2D PHP 配列を 3D 配列に変換するにはどうすればよいですか?

キーの値に基づいて 2D PHP 配列を 3D 配列に変換するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-18 00:43:10
オリジナル
784 人が閲覧しました

How to Transform a 2D PHP Array into a 3D Array Based on a Key's Value?

PHP で既存の多次元配列から多次元配列を作成する

PHP では、既存の多次元配列に基づいて新しい多次元配列を作成することができます。質問で説明した特定の変換を実行する方法は次のとおりです:

次の 2D 配列を変換します:

$MainArray = array(
    [
        'Job_Name' => 'WXYZ',
        'Quantity' => 1000,
        'Machine_Name' => 'Machine1',
        'Start_Date' => '2014-07-30 00:00:00',
        'Completion_Date' => '2014-08-02 00:00:00',
        'Labor' => 4
    ],
    [
        'Job_Name' => 'ABCD',
        'Quantity' => 1500,
        'Machine_Name' => 'Machine2',
        'Start_Date' => '2014-08-08 00:00:00',
        'Completion_Date' => '2014-08-14 00:00:00',
        'Labor' => 2
    ],
    [
        'Job_Name' => 'BCDA',
        'Quantity' => 1200,
        'Machine_Name' => 'Machine1',
        'Start_Date' => '2014-08-02 00:00:00',
        'Completion_Date' => '2014-08-07 00:00:00',
        'Labor' => 1
    ]
);
ログイン後にコピー

次の 3D 配列に変換します:

$ConvertedArray = array(
    'Machine1' => array(
        [
            'Job_Name' => 'WXYZ',
            'Quantity' => 1000,
            'Start_Date' => '2014-07-30 00:00:00',
            'Completion_Date' => '2014-08-02 00:00:00',
            'Labor' => 4
        ],
        [
            'Job_Name' => 'BCDA',
            'Quantity' => 1200,
            'Start_Date' => '2014-08-02 00:00:00',
            'Completion_Date' => '2014-08-07 00:00:00',
            'Labor' => 1
        ]
    ),
    'Machine2' => array(
        [
            'Job_Name' => 'ABCD',
            'Quantity' => 1500,
            'Machine_Name' => 'Machine2',
            'Start_Date' => '2014-08-08 00:00:00',
            'Completion_Date' => '2014-08-14 00:00:00',
            'Labor' => 2
        ]
    )
);
ログイン後にコピー

解決策:

次の PHP を使用します。 code:

$result = [];
foreach($MainArray as $record){
 $result[$record['Machine_Name']][] = $record;
}
ログイン後にコピー

コードは、$MainArray を反復処理し、レコードごとに、'Machine_Name' キーの値をインデックスとして使用して、レコードを $result 配列に追加します。これにより、目的の 3D 配列が作成されます。

以上がキーの値に基づいて 2D PHP 配列を 3D 配列に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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