찾다

 >  Q&A  >  본문

PHP에서 순서가 지정되지 않은 다차원 배열이 동일한지 확인하는 방법은 무엇입니까?

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

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

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

PHPzPHPz2773일 전494

모든 응답(4)나는 대답할 것이다

  • 大家讲道理

    大家讲道理2017-05-16 13:14:54

    //순수한 연관 배열에만 적용 가능
    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)){

    으아악

    }그밖에{

    으아악

    };

    }

    회신하다
    0
  • 迷茫

    迷茫2017-05-16 13:14:54

    http://bbs.csdn.net/topics/36...을 살펴보시면 도움이 될 것입니다!

    회신하다
    0
  • 天蓬老师

    天蓬老师2017-05-16 13:14:54

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

    회신하다
    0
  • PHP中文网

    PHP中文网2017-05-16 13:14:54

    으아아아

    회신하다
    0
  • 취소회신하다