2009-12-18 3 views

Répondre

28
$myArray = array(5, 4, 3, 2, 1); 

echo end($myArray); 

imprime "1"

+1

et pour obtenir la clé du dernier élément ... (pour le mettre à jour) 'end ($ myArray); $ key = key ($ myArray); ' – ZJR

3

array_pop()

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

+0

+1 pour être plus rapide: D –

1

Je dirais array_pop Dans la documentation: array_pop

array_pop - Pop l'élément de la fin du tableau

2

essayez ceci:

$arrayname[count(arrayname)-1] 
+3

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

0

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

+1

'$ v = fin ($ a); $ k = key ($ a); '(l'ordre est pertinent) me semble plus rapide. – ZJR

1

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; 
} 

Questions connexes