比较多个数组中的值和键

发布于 2024-12-01 05:35:07 字数 524 浏览 0 评论 0原文

我有如下内容:

$array1 = array('first_name'=>'tom','last_name'=>'jackson','city'=>'london');
$array2 = array('last_name'=>'jackson','city'=>'london','first_name'=>'tom');
$array3 = array('city'=>'london','first_name'=>'tom','last_name'=>'jackson');
$array4 = array('last_name'=>'jackson','first_name'=>'tom','city'=>'london');

我想检查所有 4 个数组是否具有相同的键和相应的值。在上面的情况下,它必须返回 true,因为所有值及其对应的键都相同。我可以使用 2 个 for 循环来完成此操作,但我想知道是否有其他快捷方法可以减少执行时间。

先感谢您.... :-)

i have something like below :

$array1 = array('first_name'=>'tom','last_name'=>'jackson','city'=>'london');
$array2 = array('last_name'=>'jackson','city'=>'london','first_name'=>'tom');
$array3 = array('city'=>'london','first_name'=>'tom','last_name'=>'jackson');
$array4 = array('last_name'=>'jackson','first_name'=>'tom','city'=>'london');

I want to check if all 4 arrays have same key with corresponding values. In above case it must return true as all values with its corresponding keys are same. I can do this using 2 for loops but i am wondering if there any other short cut method to reduce execution time.

Thank you in advance.... :-)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦亿 2024-12-08 05:35:07

如果所有数组都等于 $array1,那么它们都相等:

$array1 == $array2 && $array1 == $array3 && $array1 == $array4

此函数执行相同的操作:

function arrays_equal($arrays) {
    $arrays = func_get_args();
    for ($i = 1, $l = count($arrays); $i < $l; ++$i) {
        if ($arrays[0] != $arrays[$i]) {
            return false;
        }
    }
    return true;
}

if (array_equals($array1, $array2, $array3, $array4)) {
    // all arrays are equal (both keys and values)
}

If all arrays equal $array1 then they are all equal:

$array1 == $array2 && $array1 == $array3 && $array1 == $array4

This functions does the same:

function arrays_equal($arrays) {
    $arrays = func_get_args();
    for ($i = 1, $l = count($arrays); $i < $l; ++$i) {
        if ($arrays[0] != $arrays[$i]) {
            return false;
        }
    }
    return true;
}

if (array_equals($array1, $array2, $array3, $array4)) {
    // all arrays are equal (both keys and values)
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文