Home  >  Article  >  Backend Development  >  PHP递归报错,该如何解决

PHP递归报错,该如何解决

WBOY
WBOYOriginal
2016-06-13 11:53:161181browse

PHP递归报错
我写了一个类Sort.php,里面的方法实现快速排序代码如下:
class Sort{
       public function quickSort($arr){
$count=count($arr);
if($count return $arr;
$key=$arr[0];
$left_arr=array();
$right_arr=array();
for($i=1;$i if($arr[$i] $left_arr[]=$arr[$i];
}else{
$right_arr[]=$arr[$i];
}
}
$left_arr=quickSort($left_arr);
$right_arr=quickSort($right_arr);
return array_merge($left_arr,array($key),$right_arr);
}
}
?>
然后写了个测试,sortTest.php,代码如下
 
require('Sort.php');
$array=array(12,15,9,20,6,31,24);
$sort=new Sort();
$arr=$sort->quickSort($array);
$arr=quickSort($array);
print_r($arr);

?>
当我运行这个测试文件时,报错如下:
Fatal error: Call to undefined function quickSort() in D:\WWW\PHPDemo\suanfa\Sort.php on line 75
说我调用了一个没定义的方法,但是当我把这个方法放在sortTest.php中运行时,没有问题。请帮忙解释下这是为什么,万分感谢~
------解决方案--------------------
类的方法是有作用域的
$left_arr=$this->quickSort($left_arr);
$right_arr=$this->quickSort($right_arr);
------解决方案--------------------
汗,#1红色部分早就跟你标出错误的地方了。看回复不仔细。。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn