如何解析php

时间:2017-04-14 04:13:46

标签: php json

json代码 -

"days": [
        {
            "day-code": "SUN", 
            "runs": "Y"
        }, 
        {
            "day-code": "MON", 
            "runs": "Y"
        }, 
        {
            "day-code": "TUE", 
            "runs": "Y"
        }, 
        {
            "day-code": "WED", 
            "runs": "Y"
        }, 
        {
            "day-code": "THU", 
            "runs": "Y"
        }, 
        {
            "day-code": "FRI", 
            "runs": "Y"
        }, 
        {
            "day-code": "SAT", 
            "runs": "Y"
        }
    ] 

使用以下代码从PHP检索“日期代码” -

days[0]['day-code'];

OR

days[0][0];

php错误 -

  

致命错误:未捕获错误:无法使用stdClass类型的对象   阵列

任何人都可以帮我解决这个问题。

3 个答案:

答案 0 :(得分:0)

根据documentation,您需要指定是否需要关联数组而不是json_decode中的对象,这将是代码

json_decode($jsondata, true);

答案 1 :(得分:0)

1. json_decode()需要参数true

2.然后你可以做$json_array['days'][0]['day-code'];

工作示例: - https://eval.in/776344

您也可以应用foreach()(在工作示例中逐个打印所有值)

<强> 注: -

您显示的json数据无效(check here)。它错过了{并关闭}

参考: - http://php.net/manual/en/function.json-decode.php

答案 2 :(得分:0)

首先您需要了解Array和stdClass对象以检查这一点,您可以使用var_dump($var)

您的数据包含所有数字索引。你可以通过0,1,2

访问它

并且数组的单个元素是一个对象,因此您可以通过箭头( - &gt;)

访问它

所以它会像

$days[0]->day-code;