0
我正在创建一个函数,将返回一个基于输入字符串的slu if,如果一个slu exists存在于数据库它将追加一个数字 - $ num,我正在使用codeigniter ,递归函数返回null但var转储返回一个值
当我死了变量它返回_generate_slug正确的slug它返回正确的值,但是当我死在索引函数它返回空白;
这里是我的功能
控制器/ test.php的
public function index()
{
echo $this->_generate_slug('test');
}
protected function _generate_slug($string,$cntr = 0)
{
if($cntr == 0){
$slug = create_slug($string);
}else{
$slug = create_slug($string).'-'.$cntr;
}
if($this->test_model->slug_exist($slug)){
$cntr++;
$this->_generate_slug($string,$cntr);
}else{
return $slug;
}
}
佣工/ test.php的
function create_slug($string)
{
$slug = strtolower($string);
$slug = str_replace('&','and',$slug);
$slug = preg_replace('/[%\'"``]/', '', $slug);
$slug = preg_replace('/[^a-zA-Z0-9-]/','-',$slug);
$slug = preg_replace("/[-]+/", "-", $slug);
$slug = trim($slug, '-');
return $slug;
}
为什么你需要为此使用递归?在学术界以外,我通常没有理由这么做。你有没有尝试过这样反复排除? – Zarathuztra