>백엔드 개발 >PHP 튜토리얼 >如何得到return 的值,

如何得到return 的值,

WBOY
WBOY원래의
2016-06-23 13:58:211025검색

		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]."&region=舟山&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]."&region=舟山&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]."&region=舟山&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'));

老大,你太给力了!!!!
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.