函数如何在PHP中调用自己


How can a function call itself in PHP?

我是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传递的所有抽象值是否都是为当前类设置的。

希望你现在清楚这个概念。:(