假设我在PHP中有两个复杂的嵌套数组,如下所示:
$a = array(
"x" => array(4, 5, 6),
"y" => array("z" => "foo", "q" => "bar")
);
$b = array(
"y" => array("q" => "bar", "z" => "foo"),
"x" => array(4, 5, 6)
);
(在这种情况下,它们是从不同来源解码的JSON数据)。假设内容可以任意嵌套,但不包含任何循环引用。
检查它们是否相等是最直接的方法,忽略按键排序?例如,上面两个应该相等。但是,如果$b["x"]
为array(4, 6, 5)
,则不会。{/ p>
我可以递归ksort
并比较结果,但我真的不想修改任何一个操作数,这似乎可能有一个我不知道的简单的单行解决方案。那里有什么东西吗?
答案 0 :(得分:2)
最好的方法就是你已经提到了。但是你忘记了一件事。
一样吗?完善。你还有原版。