我有以下代码:
use app\models\Kategorije;
function hasMoreParent($id,$i = 0){
$model = new Kategorije();
$parent_id = $model::find()->where('id = :id',[':id' => $id])->one()->parent_id;
if ($parent_id > 1) {
$i++;
hasMoreParent($parent_id,$i);
}
return $i;
}
而且,如果$ i大于0,它总是返回1而不是2或3。如何使它返回其他数字?
您缺少返回关键字以实现递归,否则hasMoreParent
将执行该函数,但流程将继续并到达该return $i;
语句。
use app\models\Kategorije;
function hasMoreParent($id, $i = 0) {
$model = new Kategorije();
$parent_id = $model::find()->where('id = :id', [':id' = > $id])->one()->parent_id;
if ($parent_id > 1) {
$i++;
return hasMoreParent($parent_id, $i);
}
return $i;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句