human
Comment obtenir le premier élément d'un tableau associatif PHP
gpt
PHP 
Si vous ne connaissez pas suffisamment le tableau (vous n'êtes pas sûr si la première clé est foo ou bar), alors le tableau pourrait bien être, peut-être, vide.
Il serait donc préférable de vérifier, surtout s'il y a une chance que la valeur retournée soit le booléen FALSE :
```$value = empty($arr) ? $default : reset($arr);
```
Le code ci-dessus utilise ```reset``` et a donc des effets secondaires (il réinitialise le pointeur interne du tableau), vous pouvez donc préférer utiliser ```array_slice``` pour accéder rapidement à une copie du premier élément du tableau :
```$value = $default;
foreach(array_slice($arr, 0, 1) as $value);
```

Si vous souhaitez obtenir à la fois la clé et la valeur séparément, vous devez ajouter le quatrième paramètre à ```array_slice``` :
```foreach(array_slice($arr, 0, 1, true) as $key => $value);
```
Pour obtenir le premier élément sous forme de paire (```clé => valeur```):
```$item = array_slice($arr, 0, 1, true);
```
Modification simple pour obtenir le dernier élément, la clé et la valeur séparément :
```foreach(array_slice($arr, -1, 1, true) as $key => $value);
```
performance
Si le tableau n'est pas vraiment grand, vous n'avez pas réellement besoin de ```array_slice``` et pouvez plutôt obtenir une copie de l'ensemble des clés du tableau, puis obtenir le premier élément :
```$key = count($arr) ? array_keys($arr)[0] : null;
```
Cependant, si vous avez un tableau très volumineux, l'appel à ```array_keys``` nécessitera un temps et une mémoire significatifs par rapport à ```array_slice``` (les deux fonctions parcourent le tableau, mais la dernière se termine dès qu'elle a rassemblé le nombre d'éléments requis - qui est un).
Une exception notable est lorsque vous avez la première clé qui pointe vers un objet très volumineux et complexe. Dans ce cas, ```array_slice``` dupliquera ce premier grand objet, tandis que ```array_keys``` ne récupérera que les clés.
PHP 7.3+
À partir de PHP 7.3, ```array_key_first()``` ainsi que ```array_key_last()``` sont implémentées. Elles sont explicitement fournies pour accéder aux premières et dernières clés de manière efficace sans réinitialiser l'état interne du tableau en tant qu'effet secondaire.
Donc, depuis PHP 7.3, la première valeur de ```$array``` peut être accédée avec
```$array[array_key_first($array)];
```
Il est quand même préférable de vérifier que le tableau n'est pas vide, sinon vous obtiendrez une erreur :
```$firstKey = array_key_first($array);
if (null === $firstKey) {
    $value = &quot;Le tableau est vide&quot;; // Une erreur doit être gérée ici
} else {
    $value = $array[$firstKey];
}
```