我是Laravel和PHP的新手,所以我决定看看核心代码,试着读一读,但当我读到这一部分时,我很困惑!这个函数是如何工作的?$this->getAlias($this->aliases[$abstract]);
函数能调用自己吗?它不是循环的吗?
protected function getAlias($abstract)
{
if (! isset($this->aliases[$abstract])) {
return $abstract;
}
return $this->getAlias($this->aliases[$abstract]);
}
感谢
您可能想了解递归函数。
递归函数是一个自称的函数
此函数接受一些参数并检查它是否有别名。如果是,则再次调用自己并检查找到的别名是否有别名等。
这些被称为递归函数。。。这意味着,函数可以调用自己,直到达到预期输出的最终条件。
一个简单的例子是…乘以2直到和达到100。
public function multiplication($a, $sum = 0, $times = 0) {
if($sum == 100) {
return $times;
}
$sum += $a;
$times++;
return multiplication($a, $sum, $times);
}
echo multiplication(2);
输出将为
50
在问题中编写的函数中,它试图检查作为param传递的所有抽象值是否都是为当前类设置的。
希望你现在清楚这个概念。:(