首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用PHP从JSON中获取作为值存储在JSON中的值?

如何使用PHP从JSON中获取作为值存储在JSON中的值?
EN

Stack Overflow用户
提问于 2017-04-20 08:31:00
回答 3查看 84关注 0票数 0
代码语言:javascript
复制
`{
    "student": [{
        "name": "Alice",
        "rno": "187654"
    }]
}`

我试图使用PHP代码获得rno的值

代码语言:javascript
复制
`$data = json_decode($json, true);
 foreach ($data as $item) {
    $name = $item['name'] ;
    $number= $item['rno'] ;
}`
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-04-20 08:42:44

@Sahil Gulati的代码更完美,也是在php中解析json的正确方法

下面是在php中解析json数据的另一种方法

代码语言:javascript
复制
<?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的方法。

票数 2
EN

Stack Overflow用户

发布于 2017-04-20 08:34:02

将此更改为:

代码语言:javascript
复制
foreach ($data as $item)

这里:

代码语言:javascript
复制
foreach ($data["student"] as $item)

Try code snippet here

PHP代码:

代码语言:javascript
复制
<?php

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

Stack Overflow用户

发布于 2017-04-20 08:41:30

您应该更仔细地查看json编码数据的结构。这有助于实现干净的迭代:

代码语言:javascript
复制
<?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);

显然,上述代码的输出是:

代码语言:javascript
复制
Array
(
    [0] => 187654
)

输出格式已被选择为数组,因为json结构表明可以包含多个学生。

如果您只直接感兴趣于student数组中第一个条目的student属性,那么您可以直接访问它:

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

显然,该变体的输出是:

代码语言:javascript
复制
string(6) "187654"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43514198

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档