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

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

在PHP中從Json提取關(guān)鍵元素

在PHP中從Json提取關(guān)鍵元素

PHP
暮色呼如 2021-04-27 13:41:22
我需要在PHP中使用Json文件,以便可以在其主要元素的特定鍵中進行迭代。我有這個示例Json數(shù)據(jù):[{"A": [    {        "name": "object 1",        "code": "x001",        "date": "2018-01-01T23:00:00-0600"    },    {        "name": "object 2",        "code": "x002",        "date": "2018-01-01T23:00:00-0600"    },    {        "name": "object 3",        "code": "x003",        "date": "2018-01-01T23:00:00-0600"    }]},{"B": [    {        "name": "object 1",        "code": "y001"        "date": "2018-01-01T23:00:00-0600"    },    {        "name": "object 2",        "code": "y002",        "date": "2018-01-01T23:00:00-0600"    }]}]據(jù)我所知,我可以像這樣處理一個Json文件(在主鍵A和B中取消嵌套元素):<?php$url = './data.json';$data = file_get_contents($url);echo "<!--- File contents -->\n";var_dump($data);$contents = json_decode($data, true);echo "<!--- Associative Array -->\n";var_dump($contents);echo "<!--- BEGIN -->";foreach ($contents as $element) {        echo "Name: " . $element['name'] . "\n";        echo "Code: " . $element['code'] . "\n";        echo "Date: " . $element['date'] . "\n";        echo "- - - - - -\n";}echo "<!--- END -->";?>我想做的是在給定鍵內(nèi)調(diào)用一個循環(huán),例如,一個與B對應(yīng)的所有元素的循環(huán):    {        "name": "object 1",        "code": "y001"        "date": "2018-01-01T23:00:00-0600"    },    {        "name": "object 2",        "code": "y002",        "date": "2018-01-01T23:00:00-0600"    }可能是將這些元素提取到第二個關(guān)聯(lián)數(shù)組或另一個建議的方法中。預(yù)期結(jié)果需要為:Name: object 1Code: y001Date: 2018-01-01T23:00:00-0600- - - - - -Name: object 2Code: y002Date: 2018-01-01T23:00:00-0600- - - - - -忽略A元素
查看完整描述

3 回答

?
嚕嚕噠

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

該腳本可以幫助您設(shè)計和輸出所需的字符串。它適用于$element["B"]。您可以簡單地foreach為數(shù)組的其他元素(例如)編寫類似的代碼$element["A"]。


$url = './data.json';

$data = file_get_contents($url);

$output = "<!--- File contents -->\n";

$contents = json_decode($data, true);

$output .= "<!--- Associative Array -->\n";


$output .= "<!--- BEGIN -->\n";

foreach ($contents as $elements) {

    if (!$elements["B"]) {continue;} // You might remove this and add other elements of your inputs such as $elements["A"]

    foreach ($elements["B"] as $key => $element) {

        $output .= "Name: " . $element['name'] . "\n";

        $output .= "Code: " . $element['code'] . "\n";

        $output .= "Date: " . $element['date'] . "\n";

        $output .= "- - - - - -\n";

    }


}

$output .= "<!--- END -->\n";


echo $output;

您可能不需要逐行回顯,您可以將其存儲在諸如$output和結(jié)尾的變量中echo $output;。


輸出:

<!--- File contents -->

<!--- Associative Array -->

<!--- BEGIN -->

Name: object 1

Code: y001

Date: 2018-01-01T23:00:00-0600

- - - - - -

Name: object 2

Code: y002

Date: 2018-01-01T23:00:00-0600

- - - - - -

<!--- END -->


查看完整回答
反對 回復(fù) 2021-05-14
  • 3 回答
  • 0 關(guān)注
  • 171 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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