public function huancheng($key){ $key="永興村到山水人家"; $str=""; $keys=explode('到',$key); $json = @file_get_contents("http://api.map.baidu.com/direction/v1?mode=transit&origin=".$keys[0]."&destination=".$keys[1]."®ion=舟山&output=json&ak=gfPnxaaiPyNIhM7c3eZ1kmEL"); $ar = json_decode($json,true); array_walk_recursive($ar, 'funv'); function funv($v, $k) { global $str; if($k == 'stepInstruction') {$str.= strip_tags($v);} } return $str; }
怎麼把兩個函數分開,然後可以得到$str的傳回值。
回複討論(解決方案)
public function huancheng($key) { global $str; $key="永興村到山水人家"; $str=""; $keys=explode('到',$key); $json = @file_get_contents("http://api.map.baidu.com/direction/v1?mode=transit&origin=".$keys[0]."&destination=".$keys[1]."®ion=舟山&output=json&ak=gfPnxaaiPyNIhM7c3eZ1kmEL"); $ar = json_decode($json,true); array_walk_recursive($ar, 'funv'); return $str; } function funv($v, $k) { global $str; if($k == 'stepInstruction') {$str.= strip_tags($v);} }為什麼要抱著 php 5.2 不放呢?
別岐視php5.2.
第一次見有人這樣寫東西
public function huancheng($key)
{
function funv($v, $k)
{
}
return $str;
}
代碼看不懂。不好意思。
public function huancheng($key) { global $str; $key="永興村到山水人家"; $str=""; $keys=explode('到',$key); $json = @file_get_contents("http://api.map.baidu.com/direction/v1?mode=transit&origin=".$keys[0]."&destination=".$keys[1]."®ion=舟山&output=json&ak=gfPnxaaiPyNIhM7c3eZ1kmEL"); $ar = json_decode($json,true); array_walk_recursive($ar, 'funv'); return $str; } function funv($v, $k) { global $str; if($k == 'stepInstruction') {$str.= strip_tags($v);} }為什麼要抱著 php 5.2 不放呢?
主要bae上不支援啊,另外你這樣寫也報錯的Warning: array_walk_recursive() [function.array-walk-recursive]: Unable to call funv()
如果 funv 是作為類的方法出現的,則應
array_walk_recursive($ar, array($this, 'funv'));
如果 funv 是作為類的方法出現的,則應
array_walk_recursive($ar, array($this, 'funv'));
老大,你太給力了!!!!