current
(PHP 4, PHP 5, PHP 7, PHP 8)
current — Retorna o elemento atual em um array
Descrição
Todo array tem um ponteiro interno para o elemento "atual", o qual é inicializado para apontar para o primeiro elemento inserido em um array.
Parâmetros
array
-
O array.
Valor Retornado
A função current() simplesmente retorna
o valor do elemento do array que está sendo apontado pelo
ponteiro interno. Ela não move o ponteiro de forma alguma. Se o
ponteiro interno aponta para além do final da lista de elementos ou o array está
vazio, current() retorna false
.
Esta função pode
retornar o valor booleano false
, mas também pode retornar um valor não booleano que pode ser
avaliado como false
. Leia a seção sobre Booleanos para mais
informações. Use o operador
=== para testar o valor retornado por esta
função.
Registro de Alterações
Versão | Descrição |
---|---|
8.1.0 | Chamar esta função em objects tornou-se defasado. Converta o object para um array usando get_mangled_object_vars() primeiro ou, em vez disso, use os métodos fornecidos por uma classe que implementa Iterator, como ArrayIterator. |
7.4.0 | Instâncias de classes SPL agora são tratadas como objetos vazios que não possuem propriedades em vez de chamar o método da interface Iterator com o mesmo nome desta função. |
Exemplos
Example #1 Exemplo do uso de current() e amigos
<?php
$transport = array('foot', 'bike', 'car', 'plane');
$mode = current($transport); // $mode = 'foot';
$mode = next($transport); // $mode = 'bike';
$mode = current($transport); // $mode = 'bike';
$mode = prev($transport); // $mode = 'foot';
$mode = end($transport); // $mode = 'plane';
$mode = current($transport); // $mode = 'plane';
$arr = array();
var_dump(current($arr)); // bool(false)
$arr = array(array());
var_dump(current($arr)); // array(0) { }
?>
Notas
Note: Os resultados de chamar current() em um array vazio e em um array, cujo ponteiro interno aponta para além do fim dos elementos, são indistinguíveis de um elemento bool
false
. Para percorrer adequadamente um array que pode conter elementosfalse
, veja a estrutura de controle foreach. Para ainda usar current() e checar adequadamente se o valor é realmente um elemento do array, a key() do elemento current() deve ser verificada como estritamente diferente denull
.
Veja Também
- end() - Define o ponteiro interno de um array para seu último elemento
- key() - Retorna uma chave de um array
- each() - Retorna o par atual de chave e valor de um array e avança o seu cursor
- prev() - Retrocede o ponteiro interno de um array
- reset() - Faz o ponteiro interno de um array apontar para o seu primeiro elemento
- next() - Avança o ponteiro interno de um array
- foreach