Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.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 json_解码:对象到关联数组_Php_Arrays_Associative Array_Json - Fatal编程技术网

Php json_解码:对象到关联数组

Php json_解码:对象到关联数组,php,arrays,associative-array,json,Php,Arrays,Associative Array,Json,如何将这段可怕的代码转换为关联数组D <?php $json = file_get_contents('http://pastebin.com/NLHGMapT'); $track_data = json_decode($json); ?> <ul> <?php foreach ($track_data as $data) $text0 = $data->track[0]->artist->{'#text'};

如何将这段可怕的代码转换为关联数组D

<?php
$json = file_get_contents('http://pastebin.com/NLHGMapT');
$track_data = json_decode($json);
?>
<ul>
<?php
    foreach ($track_data as $data)

            $text0 = $data->track[0]->artist->{'#text'};
            $text1 = $data->track[1]->artist->{'#text'};
            $text2 = $data->track[2]->artist->{'#text'};
            $text3 = $data->track[3]->artist->{'#text'};
            $artist0 = $data->track[0]->name;
            $artist1 = $data->track[1]->name;
            $artist2 = $data->track[2]->name;
            $artist3 = $data->track[3]->name;
            $url0 = $data->track[0]->url;
            $url1 = $data->track[1]->url;
            $url2 = $data->track[2]->url;
            $url3 = $data->track[3]->url;
        echo '<li><a href="'; echo $url0; echo '"><span>'; echo $text0; echo '</span> - <span>'; echo $artist0; echo '</span></li></a>';
        echo '<li><a href="'; echo $url1; echo '"><span>'; echo $text1; echo '</span> - <span>'; echo $artist1; echo '</span></li></a>';
        echo '<li><a href="'; echo $url2; echo '"><span>'; echo $text2; echo '</span> - <span>'; echo $artist2; echo '</span></li></a>';
        echo '<li><a href="'; echo $url3; echo '"><span>'; echo $text3; echo '</span> - <span>'; echo $artist3; echo '</span></li></a>';
?>
</ul>

如果JSON是truthy(默认为falsy),则强制JSON取消序列化为关联数组


也就是说,使用
json\u decode($json,true)

我发现了一个非常明显的机会,可以使用内部
从零到三的循环。@multiformingegno它们不再是对象,而是关联数组。这不是你要的吗?嗯,是的。。那我现在怎么称呼他们呢?:)@multiformingegno通常的数组访问语法:
$data['track'][0]['artist']['#text']
Oh ok它可以工作。问题是:我想将对象转换为关联数组,因为我认为这样可以避免对每个
  • $data['track'][0]、$data['track'][1]、$data['track'][2]等重复。。有没有办法让这个“自动”?@multiformingegno你可以;尝试使用foreach($data['track']