예제는 다음과 같습니다.
실제 연산은 3차원 배열로, 데이터의 양이 상대적으로 많습니다.
<코드 클래스="php"> $a = [ ['이름'=>'잭', '성별'=>'남성'], ['나이'=>18,'국가'=>'중국'] ]; $b = [ ['국가'=>'중국','나이'=>18], ['성별'=>'남성','이름'=>'잭'] ];
순회하고 비교하는 것 외에 빠르고 효과적인 방법이 있나요?
현재 생각은 먼저 동일한 규칙에 따라 배열을 정렬한 다음 json_encoding 후에 md5 확인을 사용하는 것입니다. 그러나 현재로서는 정렬이 제대로 구현되지 않는 것 같습니다.
좋은 방법이 있는지 궁금합니다.
//순수한 연관 배열에만 적용 가능
으아악function deep_ksort(&$arr) {
}
으아악deep_ksort($a);
deep_ksort($b);
if(json_encode($a) == json_encode($b)){
}
//일반 방법
으아악//다차원 배열을 1차원 배열로 변환하는 함수입니다
function multiToSingle($arr, $delimiter = '->',$key = ' ') {
}
으아악//두 배열이 합동인지 판단
함수 판단($a,$b)
{
if(비어 있음($arr1) && 비어 있음($arr2)){
으아악}그밖에{
으아악};
}
http://bbs.csdn.net/topics/36...을 살펴보시면 도움이 될 것입니다!
매우 간단합니다. 동일한 규칙으로 정렬한 후 배열을 문자열로 변환하고 두 문자열이 같은지 비교합니다
으아아아