php如何提取json当中的数据,

php中文网
发布: 2016-06-23 13:58:23
原创
1149人浏览过

我现在在研究百度地图的API,碰到一些问题
比如我已经提取到这样的信息,信息在 http://likeapp.duapp.com/yx/4.php,可是这里面的内容非常多,百度对字段的解释是这样的http://developer.baidu.com/map/direction-api.htm#place8_3
我该如何提取stepInstruction这个字段的数据啊,求高手回答


回复讨论(解决方案)

json_decode

json_decode ? 对 JSON 格式的字符串进行编码

很简单

json_decode ? 对 JSON 格式的字符串进行编码

很简单

高手能不能针对我这个实例给个代码啊,给完以后,我一定在仔细拜读教程。

设你打印出的那个数组名为 $ar,则

array_walk_recursive($ar, function($v, $k) { if($k == 'stepInstruction') echo $v; });
登录后复制

得:
乘坐12路(或16路,8路,2路步行360米,到达终点站乘坐19路(或28路步行270米,到达终点站乘坐17路,经过3站,到达山水人家站步行820米,到达终点站

$ar = json_decode($json,true);
array_walk_recursive($ar function($v, $k){ if($k == 'stepInstruction') echo $v; });
这样子吗?

$ar = json_decode($json,true);
array_walk_recursive($ar function($v, $k){ if($k == 'stepInstruction') echo $v; });
这样子吗?

 报错了 Parse error: syntax error, unexpected T_FUNCTION in E:\PHPnow-1.5.6\htdocs\4.php on line 12

array_walk_recursive($ar , function($v, $k){ if($k == 'stepInstruction') echo $v; });
少了个逗号!

如果你的 php 版本低于 5.3 

array_walk_recursive($ar, 'funv');function func($v, $k) {  if($k == 'stepInstruction') echo $v;}
登录后复制
登录后复制
登录后复制
登录后复制

array_walk_recursive($ar , function($v, $k){ if($k == 'stepInstruction') echo $v; });
少了个逗号!

如果你的 php 版本低于 5.3 

array_walk_recursive($ar, 'funv');function func($v, $k) {  if($k == 'stepInstruction') echo $v;}
登录后复制
登录后复制
登录后复制
登录后复制

Warning: array_walk_recursive() [function.array-walk-recursive]: Unable to call funv() - function does not exist in E:\PHPnow-1.5.6\htdocs\4.php on line 12


array_walk_recursive($ar , function($v, $k){ if($k == 'stepInstruction') echo $v; });
少了个逗号!

如果你的 php 版本低于 5.3 

array_walk_recursive($ar, 'funv');function func($v, $k) {  if($k == 'stepInstruction') echo $v;}
登录后复制
登录后复制
登录后复制
登录后复制

Warning: array_walk_recursive() [function.array-walk-recursive]: Unable to call funv() - function does not exist in E:\PHPnow-1.5.6\htdocs\4.php on line 12


funv ->func  一定是楼上手滑了, 

array_walk_recursive($ar, 'func');function func($v, $k) {  if($k == 'stepInstruction') echo $v;}
登录后复制
登录后复制



array_walk_recursive($ar , function($v, $k){ if($k == 'stepInstruction') echo $v; });
少了个逗号!

如果你的 php 版本低于 5.3 

array_walk_recursive($ar, 'funv');function func($v, $k) {  if($k == 'stepInstruction') echo $v;}
登录后复制
登录后复制
登录后复制
登录后复制

Warning: array_walk_recursive() [function.array-walk-recursive]: Unable to call funv() - function does not exist in E:\PHPnow-1.5.6\htdocs\4.php on line 12


funv ->func  一定是楼上手滑了, 



是的,我想逐个怎么做到啊,上面得到的数据“乘坐12路(或16路,8路,2路),经过4站,到达东港贸易城站步行360米,到达终点站乘坐19路(或28路),经过5站,到达碧海莲缘站步行270米,到达终点站乘坐17路,经过3站,到达山水人家站步行820米,到达终点站 ”
变成这样:
方案一:乘坐12路(或16路,8路,2路),经过4站,到达东港贸易城站步行360米,到达终点站
方案二:乘坐19路(或28路),经过5站,到达碧海莲缘站步行270米,到达终点站
方案三:乘坐17路,经过3站,到达山水人家站步行820米,到达终点站

这个我好想做到了,加个br就好了

function func($v, $k) {  static $cnt=1;  if($k == 'stepInstruction')   {       echo '方案',$cnt,':',$v,'</br>';  }}
登录后复制

34567 function func($v, $k) {  static $cnt=1;  if($k == 'stepInstruction')   {       echo '方案',$cnt,':',$v,'</br>';       $cnt++;  }} 
登录后复制

csdn好恶心, 上边两层楼,第一个忘记 $cnt++了。  lz问题解决了就结贴吧, 话说这种基础问题,还是多看看书。

csdn好恶心, 上边两层楼,第一个忘记 $cnt++了。  lz问题解决了就结贴吧, 话说这种基础问题,还是多看看书。

还有一个问题,就是得到数据能不能不要网页的代码啊乘坐12路(或16路,8路,2路

把代码去掉,得到纯文字信息怎么弄啊

array_walk_recursive($ar, 'func');function func($v, $k) {  if($k == 'stepInstruction') echo $v;}
登录后复制
登录后复制

求个正则表达式

不是正则可以胜任的事情,干嘛非要勉为其难呢?

不是正则可以胜任的事情,干嘛非要勉为其难呢?

不是啦,我是说得到之后的数据$v,因为有网页代码存在,我希望这些代码去除掉,得到纯文字信息


echo strip_tags($v);


echo strip_tags($v);

这个函数好强大啊,3Q
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号