实现一棵树

我们将使用 PHP 数组和基于函数的简单递归遍历来实现二叉树。我们只是用一个函数而不是一个类来重写功能。下面是实现该功能的代码:

Unresolved include directive in modules/ROOT/pages/ch13/ch13-05.adoc - include::example$Chapter13/5.php[]

看看前面的代码,我们只是修改了遍历函数,并将其转换为一个独立函数。这是一个纯函数,因为我们没有修改实际输入,即 $nodes 变量。我们将在每一层构建一个字符串,并以此作为输出。现在,我们可以将大部分基于类的结构转换为基于函数的结构。

总结

对于 PHP 开发人员来说,函数式编程是一个相对较新的领域,因为从 5.4 版本开始,PHP 才开始支持函数式编程。函数式编程的出现要求我们了解这种编程模式,并在需要时编写没有任何副作用的纯函数。PHP 对编写函数式编程代码有很好的支持,我们也可以编写函数式数据结构和算法实现,正如我们在本书中试图展示的那样。在不久的将来,它可能会在优化和提高应用程序效率方面派上用场。