検索

ホームページ  >  に質問  >  本文

PHP で多次元順序なし配列が同じかどうかを判断するにはどうすればよいですか?

例は次のとおりです。
実際の演算は 3 次元配列であり、データ量は比較的多くなります。


    $a = [
        ['名前'=>'ジャック', '性別'=>'男性'],
        ['年齢'=>18、'国'=>'中国']
    ];
    $b = [
        ['国'=>'中国','年齢'=>18],
        ['性別'=>'男性','名前'=>'ジャック']
    ];

横断して比較する以外に、手早く効果的な方法はありますか?
私の現在のアイデアは、最初に同じルールに従って配列を並べ替えてから、json_encoding の後に md5 検証を使用することです。ただし、現状ではソートがうまく実装できていないようです。
何か良い方法はないでしょうか?

PHPzPHPz2739日前479

全員に返信(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 = ' ') {

    リーリー

    }
    //2つの配列が一致するかどうかを判定する
    function subject($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

    同じルールで並べ替えた後、配列を文字列に変換し、2つの文字列が同じかどうかを比較するのは非常に簡単です。

    返事
    0
  • PHP中文网

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

    リーリー

    返事
    0
  • キャンセル返事