我有問題返回多維數組項目的正確的號碼,我不知道我在做什麼錯了,所以我有點糊塗計算項目的數量時。怪異值多維數組
// Build test array
$marks = Array();
$marks[] = array("id" => 1, "parent_id" => "0", "title" => "Games");
$marks[] = array("id" => 2, "parent_id" => "0", "title" => "Food");
$marks[] = array("id" => 3, "parent_id" => "0", "title" => "Houses");
$marks[] = array("id" => 4, "parent_id" => "0", "title" => "Cities");
$marks[2]['child'][] = array("id" => 4, "parent_id" => "0", "title" => "Big House");
$marks[2]['child'][] = array("id" => 4, "parent_id" => "0", "title" => "Small House");
$marks[2]['child'][] = array("id" => 4, "parent_id" => "0", "title" => "Castle");
$marks[2]['child'][1]['child'][] = array("id" => 4, "parent_id" => "0", "title" => "Living Room");
$marks[2]['child'][1]['child'][] = array("id" => 4, "parent_id" => "0", "title" => "Kitchen");
function count_recursive ($array, $limit) {
$count = 0;
foreach ($array as $id => $_array) {
if (is_array ($_array) && $limit > 0) {
$count += count_recursive ($_array, $limit - 1);
} else {
$count += 1;
}
}
return $count;
}
echo '###' . count_recursive($marks, 5);
echo '<pre>' . print_r($marks, 1) . '</pre>';
奇怪的是,它返回27?我不明白的地方,會告知值時,它應該是9
我還測試
echo count($marks, COUNT_RECURSIVE);
但它返回38,所以我真的很困惑!
幫助將不勝感激。
THX保羅!剛剛得到它的工作! – John