En programmation PHP, le tableau est un type de données très important qui nous permet de stocker plusieurs valeurs et d'y accéder via des clés. Un tableau bidimensionnel est un tableau unidimensionnel avec une dimension supplémentaire, nous permettant de stocker des structures de données plus complexes. Cependant, lors de l'utilisation de tableaux bidimensionnels, nous rencontrons souvent un problème, à savoir comment détecter s'il existe des valeurs en double dans le tableau bidimensionnel. Cet article présentera en détail comment déterminer s'il existe des valeurs en double dans un tableau à deux dimensions.
1. Qu'est-ce qu'un tableau bidimensionnel ?
Avant d'expliquer comment déterminer s'il existe des valeurs en double dans un tableau à deux dimensions, nous devons d'abord comprendre ce qu'est un tableau à deux dimensions. Comme brièvement introduit ci-dessus, un tableau à deux dimensions ajoute une autre dimension à un tableau à une dimension, c'est-à-dire que chaque élément n'est plus une valeur unique, mais un tableau. Autrement dit, chaque élément est un tableau contenant plusieurs valeurs, qui peuvent être des chaînes, des nombres, des booléens, etc. de n'importe quel type.
Ce qui suit est un exemple simple de tableau bidimensionnel :
$cars = array( array("Volvo",22,18), array("BMW",15,13), array("Saab",5,2), array("Land Rover",17,15) );
Dans cet exemple, nous définissons un tableau bidimensionnel $cars, qui contient quatre éléments du tableau, et chaque élément contient trois valeurs. Nous pouvons accéder à la première valeur du premier élément du tableau $cars via le code suivant :
echo $cars[0][0]; // 输出 Volvo
2. Déterminer s'il existe des valeurs en double dans le tableau bidimensionnel
Dans le développement réel, nous devons souvent déterminer s'il y a des valeurs en double dans le tableau bidimensionnel. S'il y a des valeurs en double. Il existe de nombreuses façons de résoudre ce problème, dont deux que nous présentons ici.
1. Utilisez l'imbrication de boucles foreach
Utilisez l'imbrication de boucles foreach pour parcourir chaque élément dans un tableau bidimensionnel et comparer leurs valeurs tour à tour. Les étapes spécifiques de mise en œuvre sont les suivantes :
① Définissez un tableau $result vide pour enregistrer les éléments sans valeurs en double ;
② Utilisez une boucle foreach pour parcourir le tableau bidimensionnel $source d'origine et supprimez chaque élément à son tour ;
③ Dans Dans la boucle interne, utilisez à nouveau la boucle foreach pour parcourir le tableau $result et comparez si l'élément actuel est le même que chaque élément déjà enregistré dans le tableau $result ④ S'ils sont identiques, sautez ; hors de la boucle interne et continuez à parcourir l'élément suivant ; si si différent, enregistrez l'élément actuel dans le tableau $result, puis quittez la boucle. Le code spécifique est le suivant :$source = array( // 原始的二维数组 array('name'=>'Tom','age'=>18), array('name'=>'Jack','age'=>23), array('name'=>'Mary','age'=>21), array('name'=>'Tom','age'=>20), array('name'=>'Jim','age'=>32) ); $result = array(); // 存放没有重复值的元素 foreach ($source as $value) { $flag = true; // 标记是否存在重复值 foreach ($result as $v) { if ($value['name'] == $v['name']) { $flag = false; break; } } if ($flag) { $result[] = $value; } } print_r($result); // 输出结果:Array ( [0] => Array ( [name] => Tom [age] => 18 ) [1] => Array ( [name] => Jack [age] => 23 ) [2] => Array ( [name] => Mary [age] => 21 ) [4] => Array ( [name] => Jim [age] => 32 ) )
$source = array( // 原始的二维数组 array('name'=>'Tom','age'=>18), array('name'=>'Jack','age'=>23), array('name'=>'Mary','age'=>21), array('name'=>'Tom','age'=>20), array('name'=>'Jim','age'=>32) ); $name_arr = array_column($source, 'name'); // 获取所有name值的数组 $unique_arr = array_unique($name_arr); // 去重 $result = array(); // 存放没有重复值的元素 foreach ($source as $value) { if (in_array($value['name'], $unique_arr)) { $result[] = $value; } } print_r($result); // 输出结果:Array ( [0] => Array ( [name] => Tom [age] => 18 ) [1] => Array ( [name] => Jack [age] => 23 ) [2] => Array ( [name] => Mary [age] => 21 ) [4] => Array ( [name] => Jim [age] => 32 ) )
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!