我有以下 JSON 代码:
{
"google.com": {
"clicks": 23,
"browsers": {
"Chrome": 19,
"Mozilla": 2,
"Safari": 1
}
},
"mcnitro.net": {
"clicks": 87,
"browsers": {
"Chrome": 19,
"Mozilla": 2,
"Safari": 1
}
}
}
我正在努力在文档页面上打印数组'姓名和他们的孩子。 到目前为止,我已经尝试了以下 PHP 代码:
<?php
header("Content-type: text/javascript");
$jsonString = file_get_contents('stats.json');
$data = json_decode($jsonString, true);
foreach($data->children() as $domain) {
echo $data[$domain];
foreach($data[$domain] as $value) {
echo $value['clicks'];
}
}
?>
但是,我在error_log
:
PHP Fatal error: Call to a member function children() on array in /home/gamin167/public_html/ads/engine/300x250/gen.js.php on line 5
希望得到的结果是&#34; google.com&#34;和&#34; mcnitro.net&#34;打印,以及他们的&#34;点击&#34;属性。
任何提示或建议都将受到高度赞赏!提前谢谢!
答案 0 :(得分:0)
您将字符串解码为true
的数组,但您似乎尝试将其用作对象
也没有必要循环两次。
foreach($data as $key => $domain) {
echo $key . "\n";
echo $domain['clicks'] . "\n\n";
}
输出:
google.com
23
mcnitro.net
87
答案 1 :(得分:0)
您无法使用->children()
。 $data
是包含json数据的数组,您可以使用foreach
获取key
和value
,例如foreach ($data as $key => $value)
。
所以在这里,要获取您的域名,请执行以下操作:
<?php
header("Content-type: text/javascript");
$jsonString = file_get_contents('stats.json');
$data = json_decode($jsonString, true);
foreach($data as $domain => $value) {
echo $value['clicks'];
}
?>