0
我有一個PHP對象(或者它可能是一個數組),我想循環遍歷其元素及其所有子元素,並查找哪個元素具有最多兒童人數。遞歸 - 找到子元素數最多的元素
這就是我所做的。
var $max_element = array();
$this->find_longest_element_recursively($data, 0, array());
public function find_longest_element_recursively($object, $index, $max_array) {
if(!is_array((array) $object) || is_string($object) || is_numeric($object) || is_bool($object)) {
} else {
foreach($object as $key => $element) {
if(sizeof((array) $element) > sizeof((array) $this->max_array)) {
$this->max_array = $element;
}
$this->find_longest_element_recursively($element, $index+1, $max_array);
}
}
}
好的。所以這對我有用。但我不認爲這是做遞歸的正確方法。我想我可以擺脫$ max_element變量,並返回實際的max_element對象作爲遞歸函數的結果,但不確定如何在遞歸過程中跟蹤max_element對象。喜歡聽你的想法。提前致謝。
*也許* http://codereview.stackexchange.com/會更合適? –
如果沒有,至少要顯示一些數據;) – Yoshi