我是Laravel和PHP的新手,所以我决定看一下核心代码并尝试阅读它,但当我到达这一部分时,我很困惑!这个功能如何运作? $this->getAlias($this->aliases[$abstract]);
函数可以调用吗?它不会循环吗?
protected function getAlias($abstract)
{
if (! isset($this->aliases[$abstract])) {
return $abstract;
}
return $this->getAlias($this->aliases[$abstract]);
}
谢谢
答案 0 :(得分:5)
答案 1 :(得分:0)
这些被称为recursive functions ...这意味着,函数可以调用自身,直到达到预期输出的最终条件。
一个简单的例子是......乘以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
在问题中写的函数中,它试图检查是否为该当前类设置了作为参数传递的所有抽象值。
希望你现在清楚这个概念。 :)