Quel est le moyen le plus rapide et le plus simple d'obtenir le dernier élément d'un tableau, qu'il s'agisse d'un tableau indexé, d'un tableau associatif ou d'un tableau multidimensionnel?PHP: Quel est le moyen le plus rapide et le plus simple d'obtenir le dernier élément d'un tableau?
PHP: Quel est le moyen le plus rapide et le plus simple d'obtenir le dernier élément d'un tableau?
Répondre
$myArray = array(5, 4, 3, 2, 1);
echo end($myArray);
imprime "1"
Il supprime l'élément de la fin du tableau. Si vous avez besoin de garder le tableau intact, vous pouvez l'utiliser, puis rajouter la valeur à la fin du tableau. $array[] = $popped_val
+1 pour être plus rapide: D –
Je dirais array_pop
Dans la documentation: array_pop
array_pop - Pop l'élément de la fin du tableau
essayez ceci:
$arrayname[count(arrayname)-1]
Ceci est faux, il ne fonctionne qu'avec un tableau numérique ordonné, c'est-à-dire qu'il ne fonctionnera pas avec un tableau mélangé ou associatif. – Niteriter
Pour un tableau associatif:
$a= array('hi'=> 'there', 'ok'=> 'then');
list($k, $v) = array(end(array_keys($a)), end($a));
var_dump($k);
var_dump($v);
Edit: devrait également fonctionner pour les tableaux d'index numériques
'$ v = fin ($ a); $ k = key ($ a); '(l'ordre est pertinent) me semble plus rapide. – ZJR
Beaucoup de grandes réponses. Pensez à écrire une fonction si vous faites plus d'une fois:
function array_top(&$array) {
$top = end($array);
reset($array); // Optional
return $top;
}
Sinon, en fonction de votre humeur: (. $array[] = ...
est préféré array_push()
, voir the docs)
function array_top(&$array) {
$top = array_pop($array);
$array[] = $top; // Push top item back on top
return $top;
}
et pour obtenir la clé du dernier élément ... (pour le mettre à jour) 'end ($ myArray); $ key = key ($ myArray); ' – ZJR