本文介绍了PHP递归遍历对象树的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个可以包含其他 $branch 对象的 $branch 对象:
I have got a $branch object that can contain other $branch objects:
$branch->children();
他们每个人都可以有 $apples 作为孩子.
Each of them can have $apples as children.
$branch->apples();
如何递归地从 $branch 收集所有的 $apples?
How can I collect all of the $apples from the $branch recursively?
function collectApples($branch){
$apples = array();
?
return $apples;
}
推荐答案
使用 DFS:
function collectApples($branch) {
$apples = $branch->apples();
foreach ($branch->children() as $child) {
$apples = array_merge($apples, collectApples($child));
}
return $apples;
}
这篇关于PHP递归遍历对象树的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!