En programmation PHP, le tableau bidimensionnel est l'une des structures de données couramment utilisées. L'une des opérations les plus couramment utilisées sur les tableaux bidimensionnels consiste à rechercher une intersection. Alors, comment trouver l’intersection de tableaux bidimensionnels en PHP ? Jetons un coup d'œil à l'implémentation spécifique.
1. Utilisez la fonction array_intersect
PHP fournit une fonction intégrée array_intersect(), qui peut être utilisée pour trouver l'intersection de deux tableaux. Cette fonction peut accepter plusieurs tableaux comme paramètres. Pour les tableaux bidimensionnels, vous devez utiliser la fonction array_map pour convertir le tableau associatif en tableau d'index.
L'exemple de code est le suivant :
$arr1 = array( array('id'=>1,'name'=>'Tom'), array('id'=>2,'name'=>'Jack'), array('id'=>3,'name'=>'Lucy'), ); $arr2 = array( array('id'=>2,'name'=>'Jack'), array('id'=>4,'name'=>'Mike'), array('id'=>5,'name'=>'Lily'), ); $intersect = call_user_func_array('array_intersect', array_map(function($ar){return array_values($ar);},array($arr1, $arr2))); var_dump($intersect);
Le résultat de sortie est :
array(1) { [0]=> array(2) { ["id"]=> int(2) ["name"]=> string(4) "Jack" } }
2 Utiliser des fonctions personnalisées
#🎜🎜. #En plus de la fonction intégrée, nous pouvons également utiliser des fonctions personnalisées pour implémenter la fonction d'intersection de tableaux bidimensionnels. Ce qui suit est une implémentation simple :/** * 求二维数组交集 * @param $arr1 * @param $arr2 * @return array */ function arr_intersect($arr1, $arr2){ $intersect = array(); foreach($arr1 as $value1){ foreach($arr2 as $value2){ if($value1 == $value2){ $intersect[] = $value1; break; } } } return $intersect; } $arr1 = array( array('id'=>1,'name'=>'Tom'), array('id'=>2,'name'=>'Jack'), array('id'=>3,'name'=>'Lucy'), ); $arr2 = array( array('id'=>2,'name'=>'Jack'), array('id'=>4,'name'=>'Mike'), array('id'=>5,'name'=>'Lily'), ); $intersect = arr_intersect($arr1, $arr2); var_dump($intersect);
array(1) { [0]=> array(2) { ["id"]=> int(2) ["name"]=> string(4) "Jack" } }
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!