① 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