php解析數組
① php 如何解析下面jsonp 格式為 數組 或 josn
使用正則函數preg_match匹配{}的部分,然後使用addslashes把匹配的引號字元轉義,再使用json_decode變成數組,具體代碼怎麼實現,看手冊,可能會有一些小細節
② php數組解析的問題,遍歷不大會
你把數組弄成多行,就能一眼看出數組的結構,我整理如下:
array(1){
["data"]=>array(6){
[0]=>array(7){
["id"]=>string(1)"4"
["pid"]=>string(1)"6"
["danbaofang"]=>string(4)"個人"
["danbao1name"]=>string(4)"測試"
["danbao1haoma"]=>string(4)"測試"
["nativeplace"]=>string(4)"測試"
["danbao1tel"]=>string(4)"測試"
}
[1]=>array(7){
["id"]=>string(1)"5"
["pid"]=>string(1)"6"
["danbaofang"]=>string(4)"個人"
["danbao1name"]=>string(4)"測試"
["danbao1haoma"]=>string(4)"測試"
["nativeplace"]=>string(4)"測試"
["danbao1tel"]=>string(4)"測試"
}
[2]=>array(7){
["id"]=>string(1)"6"
["pid"]=>string(1)"6"
["danbaofang"]=>string(4)"個人"
["danbao1name"]=>string(4)"測試"
["danbao1haoma"]=>string(4)"測試"
["nativeplace"]=>string(4)"測試"
["danbao1tel"]=>string(4)"測試"}
[3]=>array(7){
["id"]=>string(1)"7"
["pid"]=>string(1)"6"
["danbaofang"]=>string(4)"個人"
["danbao1name"]=>string(4)"測試"
["danbao1haoma"]=>string(4)"測試"
["nativeplace"]=>string(4)"測試"
["danbao1tel"]=>string(5)"0測試"
}
[4]=>array(7){
["id"]=>string(1)"8"
["pid"]=>string(1)"6"
["danbaofang"]=>string(4)"個人"
["danbao1name"]=>string(4)"測試"
["danbao1haoma"]=>string(4)"測試"
["nativeplace"]=>string(4)"測試"
["danbao1tel"]=>string(4)"測試"
}
[5]=>array(7){
["id"]=>string(1)"9"
["pid"]=>string(1)"6"
["danbaofang"]=>string(4)"個人"
["danbao1name"]=>string(4)"測試"
["danbao1haoma"]=>string(4)"測試"
["nativeplace"]=>string(4)"測試"
["danbao1tel"]=>string(4)"測試"
}
}
}
現在是不是覺得很簡單了,可以使用foreach和join輸出,例如(加上你的數組是$arr):
echo'<table>';
foreach($arr['data']as$tr){
echo'<tr><td>'.implode('<td>',$tr);
}
echo'</table>';
③ php解析json數組問題。
<?php
$a=json_decode('{"status":0,"total":1,"size":1,"contents":[{"title":"111","location":[113.11509,23.012777],"city":"u4f5bu5c71u5e02","create_time":1385386545,"geotable_id":38432,"address":"7","province":"u5e7fu4e1cu7701","district":"u7985u57ceu533a","map_id":"1","uid":42504634,"coord_type":3,"type":0,"distance":370,"weight":0}]}');
$b=$a->contents;
echo$b[0]->title;
echo'<br>';
echo$b[0]->location[0];
echo'<br>';
echo$b[0]->location[1];
?>
哎,你這個對象略復雜,我的眼睛都看花了。。。
還有,城市名並沒有加密,只是樓上沒有指定編碼utf-8
城市名是:佛山市
地址是:廣東省佛山市禪城區汾江南路8號
省份是:廣東省
district是:禪城區
④ php提取json數組裡面的值怎麼提
先把獲取的內容列印出來 ,看看是不是正常返回的數據
$filename="http://whois.pconline.com.cn/ipJson.jsp?json=true";
$content=file_get_contents($filename);
$json=@json_decode($content);
if($json){
$city=$json->city;
}else{
echo"json解析失敗:".$content;
}
也可以根據你的框架功能,寫成日誌,方便出錯時隨時檢查
另外 ,json_decode 可以接收一個參數來確定解析成對象還是數組
$content='{"ip":"120.239.177.231","pro":"廣東省","proCode":"440000","city":"中山市","cityCode":"442000","region":"","regionCode":"0","addr":"廣東省中山市移通","regionNames":"","err":""}';
$json=json_decode($content,true);
echo$json['city'];
參考文檔:PHP json_decode
⑤ iOS與php傳遞的josn數組解析
json_decode($ios,true);解析成數組
json_decode($ios);解析成對象
⑥ php怎麼取出文本數組中的數組
如果返回的數據被解析成對象,則這樣獲取:
$result->data->refreshToken
如果是解析成關聯數組,則這樣:
$result["data"]["refreshToken"]
具體如何要看過你的代碼才知道
⑦ php里如何把 數組里的指定元素給取出來
一、首先把數組賦予一個變數,如:
$arr=Array('0'=>'a','1'=>'b','2'=>'c');
二、取出數組的值
取第一個值:$arr[0]
取第二個值:$arr[1]
取第三個值:$arr[2]
取值的方法是通過引用下標號來訪問某個值。
程序代碼如下:
(7)php解析數組擴展閱讀
設置 PHP 常量
設置常量,使用 define() 函數,函數語法如下:
bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )
該函數有三個參數:
name:必選參數,常量名稱,即標志符。
value:必選參數,常量的值。
case_insensitive:可選參數,如果設置為 TRUE,該常量則大小寫不敏感。默認是大小寫敏感的。
我們創建一個區分大小寫的常量,,常量值為 "歡迎訪問"的例子:
<?php
// 區分大小寫的常量名
define("GREETING", "歡迎訪問");
echo GREETING; // 輸出 "歡迎訪問"
echo '<br>';echo greeting; // 輸出 "greeting"
?>
⑧ php解析json數組
json_last_error 查看下。
JSON_ERROR_NONE No error has occurred
JSON_ERROR_DEPTH The maximum stack depth has been exceeded
JSON_ERROR_STATE_MISMATCH Invalid or malformed JSON
JSON_ERROR_CTRL_CHAR Control character error, possibly incorrectly encoded
JSON_ERROR_SYNTAX Syntax error
JSON_ERROR_UTF8 Malformed UTF-8 characters, possibly incorrectly encoded PHP 5.3.3
⑨ 如何使用php解析json數組並顯示
$jsonStr='[{"text":"感覺Onedrive圖片載入的速度特別慢","created":"SatNov0720:47:13+00002015","favorite_count":0,"retweet_count":0,"url":"","media_url":""}]';
$arr=json_decode($jsonStr,true);
$text=$arr['text'];
$created=$arr['created'];
//或者
$arr=json_decode($jsonStr);
$text=$arr->text;
$created=$arr->created;
⑩ php 雙引號中的數組元素為什麼不能解析
一般雙引號是可以解析變數但是你這個是取的數組中某個對應K的值,導致在解析的時候吧X變成字元串輸出而不是一個數組的元素來獲取的,從而導致錯誤。