function testfunc($param1,$param2,$param3=1,$param4=0){
//这里省略所有计算过程
//到了这里$return的值为"52,53"
$return = '52,53' //全面所有的计算最终得出的结果;
//echo $return;  echo出来的也是52,53
return explode(',',$return); //返回数组
}
//然后在页面开始调用此函数
//$param1和$param2都是有有效值的参数
$value = testfunc($param1,$param2);
//最后格式化并打印
echo '<pre>';
print_r($value);
echo '</pre>';最终结果:
Array
(
    [0] => 52
)我郁闷啊,53那一项哪去了呢

解决方案 »

  1.   

    $return  不用它做变量,换一个变量试试
      

  2.   

    变量$return一直只存在于函数中,应该不是这个的问题。
      

  3.   

        $return = '52,53'; //全面所有的计算最终得出的结果;
      

  4.   

    那里就选不要explode(',',$return);在函数外做截取
      

  5.   

    $value=$array();
    在$value = testfunc($param1,$param2);这样试试呢
      

  6.   


    class test{
       function play(){
         return explode(",","52,53");
       }
    }
    $t=new test;
    print_r($t->play());执行一下这个。你就明白了。
      

  7.   

    return array(explode(',',$return));
      

  8.   

    最后解决了,代码确实没问题。真悲催啊,是我在函数里计算过程中再次调用自身而导致的问题。虽然echo出来的是52,53而实际上返回的时候就被前面一个值给覆盖掉了