PHP で多次元順序なし配列が同じかどうかを判断するにはどうすればよいですか?
PHPz
PHPz 2017-05-16 13:12:54
0
4
490

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


    $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 = ' ') {

リーリー

}
//2つの配列が一致するかどうかを判定する
function subject($a,$b)
{

リーリー

if(空($arr1) && 空($arr2)){

リーリー

}その他{

リーリー

};

}

いいねを押す +0
迷茫

これ http://bbs.csdn.net/topics/36... をご覧ください。役立つはずです。

いいねを押す +0
Peter_Zhu

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

いいねを押す +0
Ty80

リーリー

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート