如何检查数组键值是否存在于另一个数组中


How to check if the array key value is present in another array

我有两个数组,它们是

    $key = array(
                "site_url" => "Site URL",
                "current_date" => "Current Date",
                "user_name" => "User name", 
                "name" => "Name of the user",
                "password" => "Password of user",
                "user_email"  => "Email address of new user"
            );
   $tmpl_name = array ("name","url","current_date","email");

我想检查第一个数组的键值中是否存在第二个数组值。如果不是,则显示与第一个阵列不同的阵列。

array_diffarray_keys结合使用即可。试试这个:

$missing    = array_diff($tmpl_name, array_keys($key));

输出为:

array(2) {
    [1] = string(3) "url"
    [3] = string(5) "email"
}

或者你可以交换它们:

$missing    = array_diff(array_keys($key), $tmpl_name);

获取第一个数组中不在第二个值中的键。

array(4) {
    [0] = string(8) "site_url"
    [2] = string(9) "user_name"
    [4] = string(8) "password"
    [5] = string(10) "user_email"
}
$key = array(
            "site_url" => "Site URL",
            "current_date" => "Current Date",
            "user_name" => "User name", 
            "name" => "Name of the user",
            "password" => "Password of user",
            "user_email"  => "Email address of new user"
        );
$tmpl_name = array ("name","url","current_date","email");
foreach($tmpl_name as $name) {
    if(array_key_exists($name, $key)) {
       // exists
    } else {
       //does not exist in key
    }
}