php如何提取json當中的資料,

來源:互聯網
上載者:User
我現在在研究百度地圖的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,'
'; }}

34567 function func($v, $k) {  static $cnt=1;  if($k == 'stepInstruction')   {       echo '方案',$cnt,':',$v,'
'; $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;}

求個Regex

不是正則可以勝任的事情,幹嘛非要勉為其難呢?

不是正則可以勝任的事情,幹嘛非要勉為其難呢?

不是啦,我是說得到之後的資料$v,因為有網頁代碼存在,我希望這些代碼去除掉,得到純文字資訊


echo strip_tags($v);


echo strip_tags($v);

這個函數好強大啊,3Q
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.