PHP est un langage de script interprété côté serveur largement utilisé dans le développement Web. Son application dans le développement Web est également très étendue, comme le développement de sites Web, le développement de systèmes, etc. Les tableaux sont un type de données très couramment utilisé en PHP, et les tableaux bidimensionnels sont des types de données encore plus courants. Alors, comment déterminer si un tableau est un tableau à deux dimensions ? Cet article répondra à cette question pour vous.
Tout d’abord, comprenons et passons en revue le concept de tableaux en PHP. Un tableau est une liste ordonnée qui peut stocker plusieurs valeurs sous un seul nom de variable. En PHP, il existe deux types de tableaux, à savoir les tableaux généraux et les tableaux associatifs. Généralement, les tableaux stockent les éléments en utilisant des nombres comme clés du tableau, tandis que les tableaux associatifs stockent les éléments en utilisant des noms de clés personnalisés. Par exemple :
//定义一般数组 $num = array(1,2,3,4,5); //定义关联数组 $user = array("name"=>"Tom","age"=>20,"gender"=>"male");
Ensuite, il y a le centre de notre attention, le tableau bidimensionnel. Un tableau bidimensionnel fait référence à un tableau contenant plusieurs tableaux, également appelés sous-tableaux. Chaque sous-tableau peut contenir ses propres valeurs. En PHP, les tableaux à deux dimensions peuvent être définis des manières suivantes :
//使用array表示法初始化二维数组 $users = array( array("name"=>"Tom","age"=>20,"gender"=>"male"), array("name"=>"Lucy","age"=>22,"gender"=>"female"), array("name"=>"Jack","age"=>18,"gender"=>"male") ); //使用简单的方式初始化 $users[0] = array("name"=>"Tom","age"=>20,"gender"=>"male"); $users[1] = array("name"=>"Lucy","age"=>22,"gender"=>"female"); $users[2] = array("name"=>"Jack","age"=>18,"gender"=>"male"); //使用普通数组定义二维数组 $users = array( ["name"=>"Tom","age"=>20,"gender"=>"male"], ["name"=>"Lucy","age"=>22,"gender"=>"female"], ["name"=>"Jack","age"=>18,"gender"=>"male"] );
Parlons maintenant de la façon de déterminer si un tableau est un tableau à deux dimensions. L'auteur estime qu'il existe deux méthodes courantes :
Méthode 1 : utilisez la fonction is_array() et la fonction count()
La fonction is_array() peut être utilisée pour détecter si une variable est un tableau. Si c'est le cas, elle renvoie vrai. , pas faux. La fonction count() peut être utilisée pour compter le nombre d'éléments dans un tableau. Profitant des caractéristiques de ces deux fonctions, nous pouvons d'abord utiliser la fonction is_array() pour déterminer si le tableau est un tableau. Si tel est le cas, utilisez la fonction count() pour déterminer si le tableau contient plusieurs tableaux afin de déterminer si le tableau est un tableau. array est un tableau à deux dimensions, comme suit :
function is_two_dimen_array($arr){ //判断是否为数组 if(is_array($arr)){ foreach($arr as $v){ if(!is_array($v)){ //如果数组中每个元素不是数组 return false; } } //如果每个元素都是数组,返回真 return true; } //如果不是数组,返回假 return false; } //测试 $array = array(array(1,2),array(3,4)); var_dump(is_two_dimen_array($array)); //输出bool(true)
Dans le code ci-dessus, nous utilisons d'abord la fonction is_array() pour déterminer si le tableau est un tableau, puis parcourons les éléments du tableau, et utilisez la fonction is_array() pour déterminer si chaque élément est un tableau. Renvoie vrai si chaque élément est un tableau, faux sinon.
Méthode 2 : utilisez la fonction array_filter() et la fonction array_map()
La fonction array_filter() peut être utilisée pour filtrer les éléments d'un tableau qui répondent à des conditions spécifiques et renvoyer un nouveau tableau composé de ces éléments. La fonction array_map() peut appliquer une fonction de rappel à chaque élément du tableau et renvoyer un nouveau tableau. Ces deux fonctions peuvent facilement fonctionner sur des tableaux multidimensionnels. L'implémentation spécifique est la suivante :
/** * 判断是否为二维数组 * @param $arr 待判断的数组 * @return bool */ function is_two_dimen_array($arr){ //筛选该数组中元素不是数组的元素 $result = array_filter($arr,"is_array"); //对筛选出的元素应用array_filter()函数,判断是否还存在不是数组的元素 $result = array_map("is_array",$result); //如果存在该数组中的元素不是数组,返回false,否则返回true return !(bool)array_sum($result); } //测试 $array = array(array(1,2),array(3,4)); var_dump(is_two_dimen_array($array)); //输出bool(true)
Dans le code ci-dessus, nous utilisons d'abord la fonction array_filter() pour filtrer le tableau, en laissant tous les éléments du tableau qui remplissent les conditions de la fonction is_array(), puis utilisons la fonction array_map() fonction pour les juger S'il y a un élément qui n'est pas un tableau, l'élément correspondant dans le jeu de résultats est faux, sinon il est vrai. Enfin, utilisez la fonction array_sum() pour ajouter les jeux de résultats. Si le résultat est égal à 0, renvoyez vrai, sinon renvoyez faux.
Pour résumer, les deux méthodes ci-dessus peuvent facilement déterminer si un tableau est un tableau bidimensionnel. Dans le développement réel, nous pouvons choisir la méthode appropriée à utiliser en fonction de la situation.
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!