カウント関数が以下のような配列でどのように機能するか教えてください。連想配列を使用した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 => "D"
を割り当てた場合、 "C"は2 => "C"
だからあなたの配列は1 => "B"
と2 => "D"
のみ含まれていますし、あなたが、これはprint_r($a)
をすることによって、真であることを確認することができます2. count
が与える理由です。これにより、
Array
(
[1] => B
[2] => D
)
http://www.php.net/manual/en/language.types.array.phpを再度実行してください。
あなたが唯一作成した配列は、カウントはあなたが要素を上書きしている2を返すので、その中の2つの要素を持っているか数える再帰的な配列を持つ作品
<?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
?>
理解するために、この例を使用することができますあなたの配列に含まれるものを見るには、
print_r($a);