我有此數組:獲取所有數據的總和的多維數組裏面遞歸:
Array
(
[self] => Folder A
[my_data] => Array
(
)
[18] => Array
(
[self] => Folder AA
[my_data] => Array
(
[0] => stdClass Object()
)
[20] => Array
(
[self] => Folder AA
[my_data] => Array
(
[0] => stdClass Object()
)
[21] => Array
)
我想要得到的記錄的總數在本的「my_data
」。爲此,我已經創造了這個函數調用遞歸添加計數:
function getDocumentCount($tab, $count = 0) {
foreach ($tab as $subTabKey => $subTabValue) {
if ($subTabKey == 'my_data') {
$count += count($subTabValue);
}
if (count($tab) > 2 && $subTabKey != 'self' && $subTabKey != 'my_data') {
$count += getDocumentCount($subTabValue, $count);
}
}
return $count;
}
但這個函數總是返回0上面的例子應該返回2
編輯:這應該返回5,但其返回9
Array
(
[self] => Main Folder 22
[my_data] => Array
(
)
[17] => Array
(
[self] => New Sub
[my_data] => Array
(
[0] => stdClass Object()
[1] => stdClass Object()
)
)
[8] => Array
(
[self] => sub folder 21
[my_data] => Array
(
)
[9] => Array
(
[self] => sub folder 211
[my_data] => Array
(
[0] => stdClass Object()
[1] => stdClass Object()
[2] => stdClass Object()
)
)
)
)
它不能正常工作的下一個例子:
在使用它。你可以請看一看,並指導我通過這 – pkdq
@pkdq我編輯它。現在檢查。稍等片刻,我需要編輯更多 –
非常感謝。我非常感謝你的幫助。急切地等待解決方案 – pkdq