Php json_解码:对象到关联数组
如何将这段可怕的代码转换为关联数组DPhp 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'};
<?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']