Forum und email

count

(PHP 4, PHP 5)

count — Tæller antallet af elementer i et array eller antallet af objektvariabler

Beskrivelse

int count ( mixed $var [, int $mode ] )

Returner antallet af elementer i en var , hvilket ofte er et array, da alle andre type kun har et element.

Ved klasser vil du, hvis du har SPL installeret, kunne gå ind og påvirke count() ved at laver et interface der hedder Countable. Det interface skal kun have en metode, count(), hvilket returnere værdien i stedet for den værdi den almindelige count() ville gøre.

Hvis var ikke er et array eller klasse med et Countable interface, vil 1 blive returneret. Der er en undtagelse, hvilket er hvis var er NULL, da funktionen så vil returnere 0.

Note: Den valgfrie paramenter, mode , vil kunne bruges fra PHP 4.2.0.

Hvis den valgfrie paramenter, mode , er sat til COUNT_RECURSIVE (eller 1), vil count() rekursiv tælle arrayet. Det er en fordel hvis man vil tælle alle elementer i et multidimensionel array. Standardværdien for mode er 0. count() tjekker ikke for uendelig gennemløb.

Caution

count() vil returner 0 for en variabel som ikke er sat, men returner også 0 for en variabel som er blevet sat med et tomt array. Brug isset() for at teste om en variabel er sat.

Se Array sektionen af manualen for at få en detaljeret forklaring om hvordan arrays er bygget ind og brugt i PHP.

Example#1 count() eksempel

<?php
$a
[0] = 1;
$a[1] = 3;
$a[2] = 5;
$result count($a);
// $result == 3

$b[0]  = 7;
$b[5]  = 9;
$b[10] = 11;
$result count($b);
// $result == 3

$result count(null);
// $result == 0

$result count(false);
// $result == 1
?>

Example#2 rekursiv count() eksempel (PHP >= 4.2.0)

<?php
$food 
= array('fruits' => array('orange''banana''apple'),
              
'veggie' => array('carrot''collard''pea'));

// rekursiv count
echo count($foodCOUNT_RECURSIVE);  // output 8

// normal count
echo count($food); // output 2

?>

Se også is_array(), isset() og strlen().