示例如下:
实际操作的是三维数组,而且数据量比较大。
$a = [ ['name'=>'jack', 'gender'=>'male'], ['age'=>18,'country'=>'China'] ]; $b = [ ['country'=>'China','age'=>18], ['gender'=>'male','name'=>'jack'] ];
除了遍历比较外有什么快捷有效的方式?
我现在的想法是先把数组按相同规则排序,json_encode后使用md5校验。不过目前似乎并不能很好的实现排序。
不知各位有什么很好的方法?
//純粋な連想配列にのみ適用可能
リーリー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)){
リーリー}その他{
リーリー};
}
これ http://bbs.csdn.net/topics/36... をご覧ください。役立つはずです。
同じルールで並べ替えた後、配列を文字列に変換し、2つの文字列が同じかどうかを比較するのは非常に簡単です。
リーリー