Question Obtenir le premier élément d'un tableau


J'ai un tableau:

array( 4 => 'apple', 7 => 'orange', 13 => 'plum' )

Je voudrais obtenir le premier élément de ce tableau. Résultat attendu: chaîne  apple 

Une exigence: cela ne peut pas être fait en passant par référence, alors array_shift n'est pas une bonne solution.

Comment puis-je faire ceci?


852
2017-12-17 12:26


origine


Réponses:


Réponse originale, mais coûteuse (O (n)):

array_shift(array_values($array));

En O (1):

array_pop(array_reverse($array));

Edité avec des suggestions de commentaires pour d'autres cas d'utilisation etc ...

Si vous modifiez (dans le sens de la réinitialisation des pointeurs de tableau) $array n'est pas un problème, vous pourriez utiliser:

reset($array);

Cela devrait théoriquement être plus efficace, si une "copie" de tableau est nécessaire:

array_shift(array_slice($array, 0, 1)); 

Avec PHP 5.4+ (mais peut provoquer une erreur d'index si vide):

array_values($array)[0];

1095
2017-09-22 16:04



Comme Mike l'a souligné (le plus simple possible):

$arr = array( 4 => 'apple', 7 => 'orange', 13 => 'plum' )
echo reset($arr); //echoes "apple"

Si vous voulez obtenir la clé: (l'exécuter après la réinitialisation)

echo key($arr); //echoes "4"

De La documentation de PHP:

mixte  réinitialiser (tableau & $ tableau )

La description:

réinitialiser() rembobine tableau pointeur interne vers le premier élément et renvoie la valeur du premier élément du tableau, ou FALSE si le tableau est   vide.


719
2017-11-15 03:33



$first_value = reset($array); // First Element's Value
$first_key = key($array); // First Element's Key

J'espère que cela t'aides. :)


243
2018-06-08 06:01



$arr = array( 9 => 'apple', 7 => 'orange', 13 => 'plum' );
echo reset($arr); // echoes 'apple'

Si vous ne voulez pas perdre la position actuelle du pointeur, créez simplement un alias pour le tableau.


85
2017-12-17 12:31



Vous pouvez obtenir le Nième élément avec une construction de langage "list":

// 1st item
list($firstItem) = $yourArray;

// 1st item from an array that is returned from function
list($firstItem) = functionThatReturnsArray();

// 2nd item
list( , $secondItem) = $yourArray;

Avec la fonction array_keys, vous pouvez faire la même chose pour les clés:

list($firstKey) = array_keys($yourArray);
list(, $secondKey) = array_keys($yourArray);

63
2018-04-12 13:40



simplement current($array) peut résoudre


52
2017-09-12 08:07



PHP 5.4+:

array_values($array)[0];

50
2018-04-23 14:50



Supposer:

$array = array( 4 => 'apple', 7 => 'orange', 13 => 'plum' );

Utilisez juste:

$array[key($array)]

pour obtenir le premier élément ou

key($array)

pour obtenir la première clé.

Ou vous pouvez dissocier le premier si vous voulez l'enlever.


26
2017-08-09 12:23