PHP에서 순서가 지정되지 않은 다차원 배열이 동일한지 확인하는 방법은 무엇입니까?
PHPz
PHPz 2017-05-16 13:12:54
0
4
503

예제는 다음과 같습니다.
실제 연산은 3차원 배열로, 데이터의 양이 상대적으로 많습니다.

<코드 클래스="php">
    $a = [
        ['이름'=>'잭', '성별'=>'남성'],
        ['나이'=>18,'국가'=>'중국']
    ];
    $b = [
        ['국가'=>'중국','나이'=>18],
        ['성별'=>'남성','이름'=>'잭']
    ];

순회하고 비교하는 것 외에 빠르고 효과적인 방법이 있나요?
현재 생각은 먼저 동일한 규칙에 따라 배열을 정렬한 다음 json_encoding 후에 md5 확인을 사용하는 것입니다. 그러나 현재로서는 정렬이 제대로 구현되지 않는 것 같습니다.
좋은 방법이 있는지 궁금합니다.

PHPz
PHPz

学习是最好的投资!

모든 응답(4)
大家讲道理

//순수한 연관 배열에만 적용 가능
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...을 살펴보시면 도움이 될 것입니다!

Peter_Zhu

매우 간단합니다. 동일한 규칙으로 정렬한 후 배열을 문자열로 변환하고 두 문자열이 같은지 비교합니다

Ty80

으아아아

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿