La fonction in_array() est un outil pratique pour vérifier si une valeur existe dans un tableau. Cependant, son utilité s’étend uniquement aux tableaux unidimensionnels. Lorsqu'il s'agit de tableaux multidimensionnels, une approche différente est nécessaire.
Pour déterminer si une valeur existe dans un tableau multidimensionnel, une fonction récursive peut être utilisée. Voici un exemple d'une telle fonction :
def in_array_r(needle, haystack, strict = False): for item in haystack: if ((strict ? item === needle : item == needle) or (is_array(item) && in_array_r(needle, item, strict))) { return True } return False
La fonction prend trois arguments : l'aiguille à rechercher, la botte de foin dans laquelle rechercher et un indicateur strict facultatif qui spécifie s'il faut comparer strictement les valeurs (c'est-à-dire, type et valeur).
Pour utiliser la fonction récursive, appelez-la simplement avec l'aiguille souhaitée et botte de foin :
$b = array(array("Mac", "NT"), array("Irix", "Linux")); echo in_array_r("Irix", $b) ? 'found' : 'not found';
Cela affichera « trouvé », indiquant que « Irix » existe dans le tableau multidimensionnel $b.
Alors que la fonction récursive est une solution polyvalente, il existe d'autres moyens de vérifier les valeurs en multidimensionnel arrays :
En fin de compte, la meilleure approche dépend des exigences spécifiques de l'application. Si la vitesse est un problème, la fonction récursive peut être un choix approprié. Sinon, les méthodes alternatives peuvent apporter une solution plus simple ou plus robuste.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!