欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP递归报错,该如何解决

程序员文章站 2022-05-24 09:50:59
...
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红色部分早就跟你标出错误的地方了。看回复不仔细。。
PHP递归报错,该如何解决

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频