Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PHP中解析这个数组?_Php_Json - Fatal编程技术网

如何在PHP中解析这个数组?

如何在PHP中解析这个数组?,php,json,Php,Json,昨天我问了这个问题: 这非常有效,现在我必须解析来自服务器的回复——他给了我一个数组,如下例所示。我怎样才能完成这项工作,并获得startTime和以下名称 为什么 <?php $json = file_get_contents("URL"); $data = json_decode($json); $time1 = $data[0][1]['startTime']; ?> 基本上,您用错误的键解析json。检查此代码,它将帮助您 <?php $json =

昨天我问了这个问题:

这非常有效,现在我必须解析来自服务器的回复——他给了我一个数组,如下例所示。我怎样才能完成这项工作,并获得startTime和以下名称

为什么

<?php $json = file_get_contents("URL");
$data = json_decode($json);
$time1 = $data[0][1]['startTime'];
?>

基本上,您用错误的键解析json。检查此代码,它将帮助您

    <?php 
    $json = file_get_contents("URL");
    $data = json_decode($json,true);

    foreach($data['result'] as $resData)
    {
        $startTime=$resData['startTime'];
        $endtime=$resData['endTime'];
        echo($startTime); 
        foreach($resData['kl'] as $klData)
        {
            $klname=$klData['name'];
            echo($klname);
            echo '<br>';

        }
        foreach($resData['te'] as $teData)
        {
        $tename=$teData['name'];
        $echo($tename);
        echo '<br>';

        }
    }

    ?>

你能格式化数组以便我们能看到嵌套吗?或者在jsonlint.com上格式化JSON后再发布。你想要
$data['result'][0]['startTime']
,不是吗?@arkascha正确,但我没有得到这样的输出。那么你上面发布的不是你拥有的确切数据。但这正是数据…耶,但你也可以使用for循环,但我喜欢foreach。希望这段代码能完美运行。如果您坚持使用此json_解码($json);然后在foreach循环中需要$data->result,如果您使用json_decode($json,true),那么您可以简单地使用$data['result'](我最喜欢它)我现在尝试了您的代码,但没有得到任何输出。。。有点不对劲…如果你没有任何问题,可以共享url吗。我认为这段代码是正确的,但输出json可能有所不同,因为如果输出json的格式正确,那么这段代码就可以完美地运行。我将它再次粘贴到这里:这就是我在浏览器中查看它时得到的确切代码(没有任何解析命令json_decode!)再次尝试-我检查了日志并获得了“为foreach()提供的无效参数”在线5“
    <?php 
    $json = file_get_contents("URL");
    $data = json_decode($json,true);

    foreach($data['result'] as $resData)
    {
        $startTime=$resData['startTime'];
        $endtime=$resData['endTime'];
        echo($startTime); 
        foreach($resData['kl'] as $klData)
        {
            $klname=$klData['name'];
            echo($klname);
            echo '<br>';

        }
        foreach($resData['te'] as $teData)
        {
        $tename=$teData['name'];
        $echo($tename);
        echo '<br>';

        }
    }

    ?>
Radiodata
MUS
Radiodata
MUS
Radiodata
MUS
Radiodata
MUS