Php 检查数组中是否存在不允许的键?
检查数组是否包含不允许的键的最佳方法是什么Php 检查数组中是否存在不允许的键?,php,arrays,Php,Arrays,检查数组是否包含不允许的键的最佳方法是什么 $array = array("Apple" => 33, "Orange" => 22, "Dogs" => 77,); $allowed = array("Apple", "Orange"); 期望输出为: if (!something($array,$allowed)){echo 'Unallowed data';} 谢谢使用 使用 您可以使用array_diff()查找不允许的键: $keys = array_keys(
$array = array("Apple" => 33, "Orange" => 22, "Dogs" => 77,);
$allowed = array("Apple", "Orange");
期望输出为:
if (!something($array,$allowed)){echo 'Unallowed data';}
谢谢使用
使用
您可以使用
array_diff()
查找不允许的键:
$keys = array_keys($array);
$notAllowed = array_diff($keys, $allowed);
var_dump($notAllowed); // "Dogs"
这里有一个函数可以执行此操作:
function something($array, $keys) {
return ! array_diff(array_keys($array), $keys);
}
// Usage...
if ( ! something($array, $allowed)) {
echo 'Unallowed data';
}
您可以使用
array_diff()
查找不允许的键:
$keys = array_keys($array);
$notAllowed = array_diff($keys, $allowed);
var_dump($notAllowed); // "Dogs"
这里有一个函数可以执行此操作:
function something($array, $keys) {
return ! array_diff(array_keys($array), $keys);
}
// Usage...
if ( ! something($array, $allowed)) {
echo 'Unallowed data';
}
如果可以对允许的值使用关联(映射)数组,则可以在O(1)中对允许的键执行搜索。使用当前的数据结构,搜索允许的映射将花费O(n)个时间
如果可以对允许的值使用关联(映射)数组,则可以在O(1)中对允许的键执行搜索。使用当前的数据结构,搜索允许的映射将花费O(n)个时间
使用
array\u diff\u键
$array = array("Apple" => 33, "Orange" => 22, "Dogs" => 77,);
$allowed = array("Apple", "Orange");
$allowed = array_flip($allowed);
$res = array_diff_key($array, $allowed);
print_r($res);
echo $allowedTxt = empty($res) ? "Allowed keys only" : "Not allowed keys";
$res
包含不允许的数据
假设不允许的键为“
狗”使用数组差异键
$array = array("Apple" => 33, "Orange" => 22, "Dogs" => 77,);
$allowed = array("Apple", "Orange");
$allowed = array_flip($allowed);
$res = array_diff_key($array, $allowed);
print_r($res);
echo $allowedTxt = empty($res) ? "Allowed keys only" : "Not allowed keys";
$res
包含不允许的数据
假定不允许的密钥为“狗
”