International PHP Conference Berlin 2025

end

(PHP 4, PHP 5, PHP 7, PHP 8)

endDefine o ponteiro interno de um array para seu último elemento

Descrição

end(array|object &$array): mixed

end() avança o ponteiro interno de array até o último elemento, e retorna seu valor.

Parâmetros

array

O array. Este array é passado por referência porque ele é modificado pela função. Isto significa que deve-se passar a esta função uma variável real, e não uma função retornando um array, porque somente variáveis reais podem ser passadas por referência.

Valor Retornado

Retorna o valor do último elemento ou false para array vazio.

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

Exemplo #1 Exemplo de end()

<?php

$frutas
= array('melancia', 'banana', 'morango');
echo
end($frutas); // morango

?>

Veja Também

  • current() - Retorna o elemento atual em 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
  • array_key_last() - Obtém a última chave de um array

adicione uma nota

Notas Enviadas por Usuários (em inglês) 5 notes

up
135
franz at develophp dot org
14 years ago
It's interesting to note that when creating an array with numeric keys in no particular order, end() will still only return the value that was the last one to be created. So, if you have something like this:

<?php
$a
= array();
$a[1] = 1;
$a[0] = 0;
echo
end($a);
?>

This will print "0".
up
35
jasper at jtey dot com
18 years ago
This function returns the value at the end of the array, but you may sometimes be interested in the key at the end of the array, particularly when working with non integer indexed arrays:

<?php
// Returns the key at the end of the array
function endKey($array){
end($array);
return
key($array);
}
?>

Usage example:
<?php
$a
= array("one" => "apple", "two" => "orange", "three" => "pear");
echo
endKey($a); // will output "three"
?>
up
24
jorge at REMOVETHIS-2upmedia dot com
12 years ago
If all you want is the last item of the array without affecting the internal array pointer just do the following:

<?php

function endc( $array ) { return end( $array ); }

$items = array( 'one', 'two', 'three' );
$lastItem = endc( $items ); // three
$current = current( $items ); // one
?>

This works because the parameter to the function is being sent as a copy, not as a reference to the original variable.
up
31
Anonymous
22 years ago
If you need to get a reference on the first or last element of an array, use these functions because reset() and end() only return you a copy that you cannot dereference directly:

<?php
function first(&$array) {
if (!
is_array($array)) return &$array;
if (!
count($array)) return null;
reset($array);
return &
$array[key($array)];
}

function
last(&$array) {
if (!
is_array($array)) return &$array;
if (!
count($array)) return null;
end($array);
return &
$array[key($array)];
}
?>
up
12
ivijan dot stefan at gmail dot com
10 years ago
I found that the function end() is the best for finding extensions on file name. This function cleans backslashes and takes the extension of a file.

<?php
private function extension($str){
$str=implode("",explode("\\",$str));
$str=explode(".",$str);
$str=strtolower(end($str));
return
$str;
}

// EXAMPLE:
$file='name-Of_soMe.File.txt';
echo
extension($file); // txt
?>

Very simple.
To Top