亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

如果結果存在,則獲取 JSON 節點

如果結果存在,則獲取 JSON 節點

PHP
飲歌長嘯 2021-11-19 16:34:34
我需要根據值是否存在來獲取 JSON 節點的值我想出了如何檢測 JSON 中是否存在風味,現在我只需要獲取該節點內的所有信息$flav = $_GET['flav'];$json = '[{    "flavor": "chocolate",    "type": "hard",    "instock": true}, {    "flavor": "vanilla",    "type": "hard"    "instock": false}, {    "flavor": "strawberry",    "type:" "soft"    "instock": true}, {    "flavor": "mint",    "type": "hard"    "instock": true}]';$decode = json_decode($json);if(in_array($flav, array_column($decode, 'flavor'))) {  print flavor . ' - ' . type . ' - ' . instock;} else {  print 'Invalid flavor';}
查看完整描述

1 回答

?
至尊寶的傳說

TA貢獻1789條經驗 獲得超10個贊

您的 JSON 存在一些問題,所以我已經更正了這些問題,主要問題是您使用in_array()它只是告訴您它在數組中而不是在哪里。因此,在第一個版本中,我將array_search()其更改為,然后告訴您它在哪里。


$flav = $_GET['flav'];

$json = '[{

    "flavor": "chocolate",

    "type": "hard",

    "instock": true

}, {

    "flavor": "vanilla",

    "type": "hard",

    "instock": false

}, {

    "flavor": "strawberry",

    "type" : "soft",

    "instock": true

}, {

    "flavor": "mint",

    "type": "hard",

    "instock": true

}]';

$decode = json_decode($json);

if(($key = array_search($flav, array_column($decode, 'flavor'))) !== false) {

    print "flavor - ". $decode[$key]->flavor.PHP_EOL

        . "type - ". $decode[$key]->type.PHP_EOL

        . "instock - ". $decode[$key]->instock.PHP_EOL;

} else {

    print 'Invalid flavor';

}

我還完成了第二個版本,它使用作為索引的風味重新索引數組,因此您可以直接訪問它...


// Decode to an array

$decode = json_decode($json, true);

// Create a new version of the array indexed by the flavor

$decode = array_column($decode, null, "flavor");

// Check if it is in the array

if ( isset ($decode[$flav]) ){

    // Directly output the data

    print "flavor - ". $decode[$flav]["flavor"].PHP_EOL

        . "type - ". $decode[$flav]["type"].PHP_EOL

        . "instock - ". $decode[$flav]["instock"].PHP_EOL;

} else {

    print 'Invalid flavor';

}


查看完整回答
反對 回復 2021-11-19
  • 1 回答
  • 0 關注
  • 149 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號