0

我有一个函数可以比较通过我的函数推送的两个数组。问题是,我可以根据计数比较两个不同数组的值。我的代码如下:

       function Array_Smoke($Array_1, $Array_2)
            {
                    $Return_Array = array();
                    $Array_Count = count($Array_1);             
                foreach ($Array_1 AS $SmokedKeys => $SmokedValues)
                {
                    if (in_array($SmokedValues, $Array_2))
                    {
                        $Return_Array[] = $SmokedValues;
                    }

            }
                if ($Array_Count == count($Return_Array))
                {
                    return "Arrays Match Up"; 
                }
                else
                {
                    return "Arrays Do Not Match Up";
                }
        }



   $Array_1 = array(
        "Primary Key Number 1" => "Primary Value Number 2", 
        "Sub Key Number 1" => "Sub Value Number 1",
        "Sub key Number 3" => "Sub Value Number 3", 
        "Sub Key Number 2" => "Sub Value Number 2",
   );
   $Array_2 = array(
        "Primary Key Number 1" => "Primary Value Number 2", 
        "Sub Key Number 1" => "Sub Value Number 1",
        "Sub key Number 2" => "Sub Value Number 2", 
        "Sub Key Number 3" => "Sub Value Number 3",
   );
        echo Array_Smoke($Array_1, $Array_2);

我将如何修改我的函数以根据数组的键和值进行比较?

4

3 回答 3

1

你试过array_diff_assoc()吗?

http://php.net/manual/en/function.array-diff-assoc.php

于 2013-02-24T19:36:03.993 回答
0

好的,你可以像这样使用内置的 php 运算符:

function Array_Smoke ($array1, $array2) {
    return $array1 == $array2;
}

关于PHP 数组运算符'==' 运算符返回 true 如果两个数组具有相同的键/值对。

于 2013-02-24T19:50:00.633 回答
0

听起来像 array_diff_assoc() 是你需要的。如果没有返回任何内容,则数组匹配。请记住,键和值必须匹配。

于 2013-02-24T19:55:21.500 回答