自定义函数里的参数可以直接进行机算吗???
就像下面的strsplt($thetext,$num-1)里的$num-1,可以的话我下面的函数为什么有错误????function strsplt($thetext,$num-1){
$arr=array();
$x=floor(strlen($thetext)/$num);
   while ($i<=$x){
      $y=substr($thetext,$j,$num);
      if (!empty($y)){
      array_push($arr,$y);
   }
   $i++;
   $j=$j+$num;
}
return $arr;
}
$str="Hello Friend";
$arr1=strsplt($str,1);
$arr2=strsplt($str,3);
print_r($arr1);
echo "<br/>";
print_r($arr2);

解决方案 »

  1.   

    $arr1=strsplt($str,1); 
    Hello Friend/0;你说会不会错呢?
      

  2.   

    0也可以的,我试过
    function strsplt($thetext,$num-1){
    $arr=array();
    $num=$num-1;
    $x=floor(strlen($thetext)/$num);
       while ($i<=$x){
          $y=substr($thetext,$j,$num);
          if (!empty($y)){
          array_push($arr,$y);
       }
       $i++;
       $j=$j+$num;
    }
    return $arr;
    }
    $str="Hello Friend";
    $arr1=strsplt($str,1);
    $arr2=strsplt($str,3);
    print_r($arr1);
    echo "<br/>";
    print_r($arr2);
    这样就有结果
      

  3.   

    刚那个有点错误,是下面这个
    function strsplt($thetext,$num){ 
    $arr=array(); 
    $num=$num-1; 
    $x=floor(strlen($thetext)/$num); 
      while ($i <=$x){ 
          $y=substr($thetext,$j,$num); 
          if (!empty($y)){ 
          array_push($arr,$y); 
      } 
      $i++; 
      $j=$j+$num; 

    return $arr; 

    $str="Hello Friend"; 
    $arr1=strsplt($str,1); 
    $arr2=strsplt($str,3); 
    print_r($arr1); 
    echo " <br/>"; 
    print_r($arr2); 
    这样就有结果
      

  4.   

    就像下面的strsplt($thetext,$num-1)里的$num-1,可以的话我下面的函数为什么有错误???? 
    _________________________________________________
    你不是说有错误吗?什么错误?