L'exemple est le suivant :
L'opération réelle est un tableau tridimensionnel et la quantité de données est relativement importante.
$une = [
['name'=>'jack', 'gender'=>'male'],
['age'=>18,'country'=>'Chine']
];
$b = [
['pays'=>'Chine','age'=>18],
['genre'=>'male','name'=>'jack']
];
En plus de parcourir et de comparer, existe-t-il un moyen rapide et efficace ?
Mon idée actuelle est de trier d'abord le tableau selon les mêmes règles, puis d'utiliser la vérification md5 après json_encoding. Cependant, il semble que le tri ne puisse pas être correctement mis en œuvre à l’heure actuelle.
Je me demande si vous avez de bonnes méthodes ?
//Applicable uniquement aux tableaux purement associatifs
function deep_ksort(&$arr) {
}
deep_ksort($a);
deep_ksort($b);
if(json_encode($a) == json_encode($b)){
}
//Méthode générale
//Cette fonction convertit un tableau multidimensionnel en un tableau unidimensionnel
fonction multiToSingle($arr, $delimiter = '->',$key = ' ') {
}
//Juge si deux tableaux sont congrus
fonction juge($a,$b)
{
if(vide($arr1) && vide($arr2)){
}autre{
};
}
Vous pouvez jeter un œil à ce http://bbs.csdn.net/topics/36..., cela devrait vous être utile !
C'est très simple. Après avoir trié selon les mêmes règles, convertissez le tableau en chaîne et comparez si les deux chaînes sont identiques