J'ai un tableau qui est structuré comme ceci:
[33] => Array
(
[time] => 1285571561
[user] => test0
)
[34] => Array
(
[time] => 1285571659
[user] => test1
)
[35] => Array
(
[time] => 1285571682
[user] => test2
)
Comment puis-je obtenir la dernière valeur du tableau, tout en maintenant l'index [35]?
Le résultat que je recherche est le suivant:
[35] => Array
(
[time] => 1285571682
[user] => test2
)
essayez d'utiliser
end($array);
$last = array_slice($array, -1, 1, true);
Voir http://php.net/array_slice pour plus de détails sur la signification des arguments.
P.S. Contrairement aux autres réponses, celle-ci fait ce que vous voulez. :-)
Vous pouvez utiliser end
pour faire avancer le pointeur interne jusqu'à la fin ou array_slice
pour obtenir un tableau contenant uniquement le dernier élément:
$last = end($arr);
$last = current(array_slice($arr, -1));
Si vous avez un tableau
$last_element = array_pop(array);
Comme dit Gumbo,
<?php
$fruits = array('Apple', 'banana', 'cranberry');
echo end($fruits); // cranberry
?>
// if your array keys lile
// 0 1 2 3 4 ...
$lastindex= count($ar)-1;
// but if you are not sure
$ar_k=array_keys($ar);
$lastindex=$ar_k[count($ar_k)-1];
// will work
Une autre solution pourrait être:
$value = $arr[count($arr) - 1];
Ce qui précède comptera la quantité de valeurs du tableau, soustraira 1 et retournera la valeur.
Remarque: Ceci ne peut être utilisé que si vos clés de tableau sont numériques.
Comme la clé est nécessaire, la solution acceptée ne fonctionne pas.
Ce:
end($array);
return array(key($array) => array_pop($array));
reviendra exactement comme l'exemple dans la question.