有人請向我解釋計數函數如何處理像下面這樣的數組?帶有關聯數組的PHP計數函數
我的想法是下面的代碼輸出4,原因有4個元素有:
$a = array
(
"1" => "A",
1=> "B",
"C",
2 =>"D"
);
echo count($a);
有人請向我解釋計數函數如何處理像下面這樣的數組?帶有關聯數組的PHP計數函數
我的想法是下面的代碼輸出4,原因有4個元素有:
$a = array
(
"1" => "A",
1=> "B",
"C",
2 =>"D"
);
echo count($a);
count
作品正是你所期望的,例如它counts all the elements in an array (or object)。但是你對包含四個元素的數組假設是錯誤的:
1 => "B"
將覆蓋"1" => "A"
。2 => "C"
2 => "D"
時,您重寫了「C」。所以你的數組將只包含1 => "B"
和2 => "D"
,這就是爲什麼count
給人2.您可以驗證這一點是通過做print_r($a)
如此。這將給
Array
(
[1] => B
[2] => D
)
你可以使用這個例子來理解怎麼算遞歸陣列
<?php
$food = array('fruits' => array('orange', 'banana', 'apple'),
'veggie' => array('carrot', 'collard', 'pea'));
// recursive count
echo count($food, COUNT_RECURSIVE); // output 8
// normal count
echo count($food); // output 2
?>
您創建的陣列只能在這兩個元素,因此計數返回2.您將要覆蓋的元素,看看你的陣列使用什麼:
print_r($a);