第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何對數(shù)組中包含在 JSON 中的值進行排序?

如何對數(shù)組中包含在 JSON 中的值進行排序?

PHP
函數(shù)式編程 2021-11-26 17:52:28
我正在接收來自數(shù)據(jù)庫的數(shù)據(jù),這些數(shù)據(jù)來自包含 JSON 的數(shù)組。我想按標題對重復的值進行分組,即 GROUP 是標題,BREED 是標題,NAME 是這個標題的描述,如下所示。車輛(集團)電動(品種)奧迪 A3 Sportback寶馬i3雪佛蘭螺栓克萊斯勒 Pacifica PHEV福特聚變能源現(xiàn)代 IONIQ Electric梅賽德斯 GLE 550福特三菱/日產(chǎn)自走式(BREED)步兵戰(zhàn)斗裝甲偵察騎兵格斗裝甲人員空中纜車嬰兒車送貨車日產(chǎn)聆風推土機這是里面有 JSON 的數(shù)組,下面是獲取信息的循環(huán)。<?php$array = array(    '{    "GROUP": "Vehicle",    "BREED": "Self-Propelled",    "NAME": "Infantry fighting."    }',    '{        "GROUP": "Vehicle",        "BREED": "Electric",        "NAME": "Audi A3 Sportback."    }',    '{        "GROUP": "Vehicle",        "BREED": "Self-Propelled",        "NAME": "Armored reconnaissance"    }',    '{        "GROUP": "Vehicle",        "BREED": "Electric",        "NAME": "BMW i3"    }',    '{        "GROUP": "Vehicle",        "BREED": "Self-Propelled",        "NAME": "Cavalry fighting"    }',    '{        "GROUP": "Vehicle",        "BREED": "Electric",        "NAME": "Chevrolet Bolt"    }',    '{        "GROUP": "Vehicle",        "BREED": "Electric",        "NAME": "Chrysler Pacifica PHEV."    }',    '{        "GROUP": "Vehicle",        "BREED": "Self-Propelled",        "NAME": "Armored personnel"    }',    '{        "GROUP": "Vehicle",        "BREED": "Electric",        "NAME": "Ford Fusion Energi."    }',    '{        "GROUP": "Vehicle",        "BREED": "Self-Propelled",        "NAME": "aerial tramway"    }',    '{        "GROUP": "Vehicle",        "BREED": "Self-Propelled",        "NAME": "baby carriage"    }',    '{        "GROUP": "Vehicle",        "BREED": "Electric",        "NAME": "Hyundai IONIQ Electric."    }',    '{        "GROUP": "Vehicle",        "BREED": "Self-Propelled",        "NAME": "delivery truck"    }',    '{        "GROUP": "Vehicle",        "BREED": "Electric",        "NAME": "Mercedes GLE 550e."    }',    '{        "GROUP": "Vehicle",        "BREED": "Electric",        "NAME": "Ford F"    }',注意 BREED 和 GROUP 一遍又一遍地重復,我怎樣才能讓它們看起來像頂級模型?
查看完整描述

2 回答

?
森林海

TA貢獻2011條經(jīng)驗 獲得超2個贊

再次閱讀文章后,我意識到,有是在那里嘗試已經(jīng)(對不起,我先前的評論說,否則......)。關(guān)于如何解決數(shù)據(jù)重組問題,我的建議如下:


$newarr=array();

for($i = 0; $i < count($array); $i++){  

  $obj = json_decode($array[$i]);

  $newarr[$obj->GROUP][$obj->BREED][]=$obj->NAME;

}

foreach ($newarr as $group => $breeds) {

    echo "<h1>$group</h1>\n";    

    foreach ($breeds as $breed => $vehicles) 

      echo "<p><b>$breed</b><br>\n".join("<br>\n",$vehicles)."</p>\n";

}

您可以在此處找到工作演示:https : //rextester.com/OYD48391


查看完整回答
反對 回復 2021-11-26
?
泛舟湖上清波郎朗

TA貢獻1818條經(jīng)驗 獲得超3個贊

您需要先重構(gòu)您的數(shù)據(jù),然后再渲染它們,如下所示


// we will restructure the array to look like the following

[

    "Vehicle" => [

        "Self-Propelled" => [

            0 => "Infantry fighting.",

            1 => "Cavalry fighting",

            2 => "Armored personnel",

            3 => "aerial tramway",

            4 => "baby carriage",

            5 => "delivery truck",

            6 => "Nissan LEAF.",

            7 => "Earth mover",

        ],        

        "Electric" => [

            0 => "Audi A3 Sportback.",

            1 => "BMW i3",

            2 => "Chevrolet Bolt",

            3 => "Chrysler Pacifica PHEV.",

            4 => "Ford Fusion Energi.",

            5 => "Hyundai IONIQ Electric.",

            6 => "Mercedes GLE 550e.",

            7 => "Ford F",

            8 => "Mitsubishi/Nissan",

        ]

    ],

    "Passageiro" => [

        "Self-Propelled" => [

            0 => "Armored reconnaissance",

        ]

    ],

]

// first restructure the array

$restructuredArray = [];

foreach ($array as $jsonData) {

    $data = json_decode($jsonData);

    $restructuredArray[$data->GROUP] = $restructuredArray[$data->GROUP] ?? [];

    $restructuredArray[$data->GROUP][$data->BREED] = $restructuredArray[$data->GROUP][$data->BREED] ?? [];

    $restructuredArray[$data->GROUP][$data->BREED][] = $data->NAME;

}

// second rendering the restructured array

foreach ($restructuredArray as $group => $breeds) {

    echo "<h1>{$group}</h1>";

    foreach($breeds as $breed => $names) {

        echo "<h3>{$breed}</h3>";

        foreach($names as $name) {

            echo "<p>{$name}</p>";

        }

    }

}

建議 如果您可以控制數(shù)據(jù)庫,最好以更好的格式或結(jié)構(gòu)保存數(shù)據(jù),在您的情況下,您可以使用 SQL(如 MySQL 使用關(guān)系)或 NoSQL(基于文檔的數(shù)據(jù)庫,如 MongoDB),兩者都適合為您的需要。


查看完整回答
反對 回復 2021-11-26
  • 2 回答
  • 0 關(guān)注
  • 220 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號