① php json解码出来的数据怎样遍历
foreach啊,foreach ($photo as $i => $row)
{
这里边写你的具体代码
}
② PHP生成及获取JSON文件的方法
本文实例讲述了PHP生成及获取JSON文件的方法。分享给大家供大家参考,具体如下:
首先定义一个数组,然后遍历数据表,把相应的数据放到数组中,最后通过json_encode()转化数组
json_encode()
函数的功能是将数值转换成
JSON
数据存储格式。
putjson.php:
<?php
//
生成一个PHP数组
$data
=
array();
$data[0]
=
array('1','吴者然','onestopweb.cn');
$data[1]
=
array('2','何开','iteye.com');
//
把PHP数组转成JSON字符串
$json_string
=
json_encode($data);
//
写入文件
file_put_contents('test.json',
$json_string);
?>
有同名的
JSON
文件则覆盖,没有则创建。
生成或覆盖的
JSON
如下:
复制代码
代码如下:[["1","\u811A\u672C\u4E4B\u5BB6","www.jb51.net"],["2","\u7F16\u7A0B\u5F00\u53D1","jb51.net"]]
然后,把
JSON
文件中的数据读取到PHP变量中。
getjson.php:
<?php
//
从文件中读取数据到PHP变量
$json_string
=
file_get_contents('test.json');
//
把JSON字符串转成PHP数组
$data
=
json_decode($json_string,
true);
//
显示出来看看
var_mp($data);
echo
'<br><br>';
print_r($data);
echo
'<br><br>';
echo
'编号:'.$data[0][0].'
姓名:'.$data[0][1].'
网址:'.$data[0][2];
echo
'<br>';
echo
'编号:'.$data[1][0].'
姓名:'.$data[1][1].'
网址:'.$data[1][2];
?>
效果图:
PS:这里再为大家推荐几款比较实用的json在线工具供大家参考使用:
在线JSON代码检验、检验、美化、格式化工具:
http://tools.jb51.net/code/json
JSON在线格式化工具:
http://tools.jb51.net/code/jsonformat
在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljson
json代码在线格式化/美化/压缩/编辑/转换工具:
http://tools.jb51.net/code/jsoncodeformat
C语言风格/HTML/CSS/json代码格式化美化工具:
http://tools.jb51.net/code/ccode_html_css_json
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP中json格式数据操作技巧汇总》、《PHP针对XML文件操作技巧总结》、《PHP基本语法入门教程》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
③ php 循环遍历json数据
$str = '{
"10924": {
"id": "10924",
"title": "天津",
"streamline_title": "狗不理",
"unit": "点",
"goods_type": "168",
"goods_type_title": "包子"
},
"10923": {
"id": "10923",
"title": "北京",
"streamline_title": "王府井",
"unit": "点",
"goods_type": "104",
"goods_type_title": "吃货天堂"
},
"11982": {
"id": "11982",
"title": "南京",
"streamline_title": "夫子庙",
"unit": "点",
"goods_type": "351",
"goods_type_title": "灯会"
}
}';
foreach (json_decode($str) as $v)
{
echo "{$v->id} {$v->title}"; //其他的一样的
}
④ PHP解析JSON数据,在线等!!!
先用json_decode把json解析成一个Object。接着用php提供的foreach循环,遍历得到key-value对,就能达到你想要的东西了
⑤ PHP遍历当前目录下json文件,并显示其中的指定内容。
<?php
header('Content-type:text/html;charset=utf-8');
$i = 1;
foreach(glob('*.json') as $txt)
{
echo '第'.$i.'个文件'.basename($txt).':';
$arr=json_decode(file_get_contents($txt),true);
echo $arr[0]." ".$arr[1]." ".$arr[2]." ";
$i++;
echo '<hr/>';
}
⑥ PHP如何循环json
需要先将json转换成数组,然后才能循环。
json是字符串,不能直接循环。使用json_decode($jsonstring, true) 可以将格式正确的json字符串转换成关联数组。
需要注意,该函数只能处理UTF-8编码的json字符。
实例代码:
<?php
$json='{"a":1,"b":2,"c":3,"d":4,"e":5}';
var_mp(json_decode($json));
var_mp(json_decode($json,true));
?>
以上实例将会输出:
object(stdClass)#1(5){
["a"]=>int(1)
["b"]=>int(2)
["c"]=>int(3)
["d"]=>int(4)
["e"]=>int(5)
}
array(5){
["a"]=>int(1)
["b"]=>int(2)
["c"]=>int(3)
["d"]=>int(4)
["e"]=>int(5)
}
?>
⑦ 问大佬php中如何用 foreach解析json
首先,不推荐使用foreach进行自己去解析json字符串,因为php已经封装了非常好用,且效率不低的内置方法,这个方法就是json_decode。
使用这个函数,可以直接把json数据转换成数据或者对象,这个是可以控制的。转换成对象或者数组之后,再使用foreach就可以方便遍历得到想要的数据。
⑧ php如何读取json的内容
如果json是以对象的方式存储于变量$json中,则这样引用: $json->openid
如果json是以关联数组的方式存储于变量$json中,则这样引用: $json['openid']
如果json是以字符串的方式存储于变量$json中,则需要先转换一下:
$a=json_decode($json);
print_r($a->openid);
或者
$a=json_decode($json,true);
print_r($a['openid']);
⑨ Php如何循环解析json
<?php$str = '[{"name":"北京","city":[{"name":"北京","area":["东城区","西城区","崇文区","宣武区","朝阳区","丰台区","石景山区","海淀区","门头沟区","房山区","通州区","顺义区","昌平区","大兴区","平谷区","怀柔区","密云县","延庆县"]}]},{"name":"天津","city":[{"name":"天津","area":["和平区","河东区","河西区","南开区","河北区","红桥区","塘沽区","汉沽区","大港区","东丽区","西青区","津南区","北辰区","武清区","宝坻区","宁河县","静海县","蓟 县"]}]}]';$provinces = json_decode($str, true);foreach($provinces as $province){ echo $province['name'], ''; foreach($province['city'] as $city){ echo '--', $city['name'], ''; foreach($city['area'] as $area){ echo '----', $area, ''; } }}exit;
⑩ php如何获取json中数据
可以用$obj=>key 的方式直接读取 也可以先转换为数组 用遍历数组的方法读取
<?php
$json='{"a":100,"b":200,"c":300,"d":400,"e":500}';
//首先将json字符串转换成关联数组
$arr=json_decode($json,true);
//然后循环读取数据
foreach($arras$item){
echo$item;
echo"<br/>";
}
?>
运行结果:
100
200
300
400
500