簡體   English   中英

如何使用PHP從JSON數組中存儲為JSON中的值的值?

[英]How to get the values from JSON Array Stored as Value in JSON using PHP?

`{
    "student": [{
        "name": "Alice",
        "rno": "187654"
    }]
}`

我正在嘗試使用PHP代碼獲取rno的值

`$data = json_decode($json, true);
 foreach ($data as $item) {
    $name = $item['name'] ;
    $number= $item['rno'] ;
}`

@Sahil Gulati的代碼更完美,是解析php中json的正確方法

這是解析php中json數據的另一種方法

<?php

$data = json_decode($json, true);

foreach ($data as $item) {
    foreach ($item as $val) {
        echo $name = $val['name'];
        echo $number = $val['rno'];
    }
}

 ?> 

我分享的上述代碼可以輕松理解。 但是在學習了如何在php中解析json數據后,您應該使用@Sahil Gulati的mathod。

更改為:

foreach ($data as $item)

這個:

foreach ($data["student"] as $item)

在此處嘗試代碼段

PHP代碼:

<?php

ini_set('display_errors', 1);
$data = json_decode($json, true);
foreach ($data["student"] as $item)
{
    $name = $item['name'];
    $number = $item['rno'];
}

您應該仔細研究json編碼數據的結構。 這有助於實現干凈的迭代:

<?php
$input = <<<JSON
{
    "student": [{
        "name": "Alice",
        "rno": "187654"
    }]
}
JSON;
$data = json_decode($input);
$output = [];
array_walk($data->student, function($entry) use (&$output) {
    $output[] = $entry->rno;
});
print_r($output);

上面代碼的輸出顯然是:

Array
(
    [0] => 187654
)

輸出格式已選擇為數組,因為json結構表明可以包含多個學生。


如果您僅對student數組中第一個條目的rno屬性直接感興趣,則可以直接訪問它:

<?php
$input = <<<JSON
{
    "student": [{
        "name": "Alice",
        "rno": "187654"
    }]
}
JSON;
$data = json_decode($input);
var_dump($data->student[0]->rno);

該變量的輸出顯然是:

string(6) "187654"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM