La fonction array_keys()
renvoie un tableau des clés d'un tableau, et la fonction array_values()
renvoie un tableau des valeurs d'un tableau. Cette 2 fonctions renvoient un tableau à indices numériques
consécutifs commençant à 0.
Vérifier qu'une clé existe
Comme nous l'avons déjà vu, la fonction isset()
permet de savoir si une clé existe dans un tableau. Cette fonction
renvoie TRUE si la clé existe dans le
tableau, FALSE sinon.
Nous pouvons aussi utiliser la fonction array_key_exists()
qui renvoie elle aussi TRUE si la clé
existe dans le tableau, FALSE sinon.
if (isset($t[2])) {
echo 'Oui';
} else {
echo 'Non';
}
peut être ré-écrit avantageusement avec l'opérateur de test :
echo isset($t[2]) ? 'Oui' : 'Non';
On peu évidemment faire la même chose avec le test de
array_key_exists
Vérifier qu'une valeur existe
Pour vérifier qu'une valeur existe dans un tableau, surtout nous ne
faisons pas notre propre boucle, mais nous utilisons la fonction in_array()
qui renvoie TRUE ou FALSE selon que le premier paramètre existe
dans le tableau passé en second paramètre.
La fonction array_search()
vérifie qu'une valeur existe dans un tableau, et retourne sa
clé, ou FALSE si la valeur n'est pas
dans le tableau.
Si on veut tester le résultat de la fonction, il faut absolument
tester ce résultat avec l'opérateur d'identité ===
pour ne pas tomber dans le piège du transtypage où 0 == FALSE.