ホームページ >バックエンド開発 >PHPチュートリアル >リターンとエコーの違い
$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=gfPnxaaiPyNIhM7c13eZ1kmEL"); $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;はなぜこのように書かれていますか? echo は OK ですが、return はダメですか?
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=funv($v,$k); return $str; }
マスターの出現を楽しみにしています。 。 。 。
1階は間違っています。 。 。 。
兄弟、1 階のパターンは次のとおりです:
コード行 -------
コード行 --------
関数 ----------
コード行------- -
return モード
もちろん機能しません。関数内に return がありません。
2 階のパターンは次のとおりです。関数内にネストされた関数。クラス内に関数を記述するか、2 つの関数を別々に開き、それらをネストせずにメイン関数で返します。
関数 funv($v, $k)
return 戻り値、
エコー表示値