是否有PHP函数可以检查以确保在数组中设置字段
php库是否有任何函数来检查数组中是否设置了所有必需的字段?例如:是否有PHP函数可以检查以确保在数组中设置字段,php,arrays,find,key-value,Php,Arrays,Find,Key Value,php库是否有任何函数来检查数组中是否设置了所有必需的字段?例如: function required_fields($vals,$required_fields_names){ for($i = 0; $i < count($required_fields_names); $i++){ if(!array_key_exists($required_fields_names[$i],$vals)){ return false
function required_fields($vals,$required_fields_names){
for($i = 0; $i < count($required_fields_names); $i++){
if(!array_key_exists($required_fields_names[$i],$vals)){
return false
}
}
return true;
}
函数必填字段($vals,$required\u fields\u name){
对于($i=0;$i
是否已经有一个本机PHP函数/方法可以执行此操作?不,没有本机方法 但是你可以改进代码
<?php
function check_keys($keys,$array) {
foreach ($keys as $key) {
if(!array_key_exists($key, $array)) {
return false;
}
}
return true;
}
# Test Zone
$a = array('a' => 1,
'b' => 2,
'c' => 3);
$b = ['a','b','c'];
$c = ['a','b'];
$d = ['a','b','d'];
echo (int) check_keys($b,$a).'</br>'; # 1
echo (int) check_keys($c,$a).'</br>'; # 1
echo (int) check_keys($d,$a).'</br>'; # 0
?>
不,没有本机方法 但是你可以改进代码
<?php
function check_keys($keys,$array) {
foreach ($keys as $key) {
if(!array_key_exists($key, $array)) {
return false;
}
}
return true;
}
# Test Zone
$a = array('a' => 1,
'b' => 2,
'c' => 3);
$b = ['a','b','c'];
$c = ['a','b'];
$d = ['a','b','d'];
echo (int) check_keys($b,$a).'</br>'; # 1
echo (int) check_keys($c,$a).'</br>'; # 1
echo (int) check_keys($d,$a).'</br>'; # 0
?>
数组_difference
是与此最接近的内置函数:
function required_fields($vals,$required_fields_names){
$missing_fields = array_difference($required_fields_names, array_keys($vals));
return empty($missing_fields);
}
array\u difference
是最接近此功能的内置函数:
function required_fields($vals,$required_fields_names){
$missing_fields = array_difference($required_fields_names, array_keys($vals));
return empty($missing_fields);
}
不。虽然用foreach这可能会更快一点,可读性更强。不是真的。在旁注中,键可以存在,但其值可以为空或null。否。虽然有可能这是一个更快和更可读的foreach。不是真的。在旁注中,键可以存在,但其值可以为空或null。