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变成字符串输出而不是一个数组的元素来获取的,从而导致错误。