count
(PHP 4, PHP 5, PHP 7, PHP 8)
count — Conta todos os elementos de um array ou de um objeto Countable
Parâmetros
value
-
Um array ou objeto Countable.
mode
-
Se o parâmetro opcional mode for definido para
COUNT_RECURSIVE (ou 1), a função count()
irá recursivamente contar o array. Isto é particularmente útil
para contar todos os elementos de um array multidimensional.
Cuidado
count() pode detectar recursividade para evitar um loop
infinito, mas irá emitir um aviso E_WARNING cada vez que
o fizer (caso o array contenha a si mesmo mais de uma vez) e retornará uma
contagem maior que a esperada.
Valor Retornado
Retorna o número de elementos em value.
Antes do PHP 8.0.0, se o parâmetro não fosse um array nem um object que
implementa a interface Countable,
1 seria retornado,
a menos que value fosse null, e neste caso
0 seria retornado.
Exemplos
Exemplo #1 Exemplo da função count()
<?php
$a[0] = 1;
$a[1] = 3;
$a[2] = 5;
var_dump(count($a));
$b[0] = 7;
$b[5] = 9;
$b[10] = 11;
var_dump(count($b));
?>
O exemplo acima produzirá:
Exemplo #2 Exemplo de count() em não-Countable|array (contra exemplo - não deve ser feito)
<?php
$b[0] = 7;
$b[5] = 9;
$b[10] = 11;
var_dump(count($b));
var_dump(count(null));
var_dump(count(false));
?>
O exemplo acima produzirá:
int(3)
Fatal error: Uncaught TypeError: count(): Argument #1 ($var) must be of type Countable .. on line 12
Exemplo #3 Uso recursivo da função count()
<?php
$comidas = array('frutas' => array('laranja', 'banana', 'maçã'),
'vegetais' => array('cenoura', 'couve', 'ervilha'));
// contagem recursiva
var_dump(count($comidas, COUNT_RECURSIVE));
// contagem normal
var_dump(count($comidas));
?>
O exemplo acima produzirá:
Exemplo #4 Objeto Countable
<?php
class CountOfMethods implements Countable
{
private function someMethod()
{
}
public function count(): int
{
return count(get_class_methods($this));
}
}
$obj = new CountOfMethods();
var_dump(count($obj));
?>
O exemplo acima produzirá:
Veja Também
- is_array() - Verifica se a variável é um array
- isset() - Determina se uma variável está declarada e é diferente de null
- empty() - Determina se uma variável está vazia
- strlen() - Retorna o tamanho de uma string
- is_countable() - Verifica se o conteúdo de uma variável é um valor contável
- Arrays