我想通过数组预设字段的验证规则,例如:
$vals = array(
'val1' => array(
'rule' => 'ctype_alnum',
),
'val2' => array(
'rule' => 'ctype_digit',
),
);
如果这些字段满足基本验证,将从 CSV 导入并插入到数据库中。
例如
$while ($data = fgetcsv....)
$array['val1'] = $data[2];
$array['val2'] = $data[9];
$array['val3'] = $data[11];
我想要做的,但我不知道如何准确地做到这一点,现在是交叉引用 $array
数组与 $fields
中的预设规则> 数组。如果任何字段未验证,则该行的导入将中止。
有什么想法可以做到这一点吗?
最佳答案
这应该是您所需要的:
foreach ($vals as $key => $rule)
{
if (function_exists($rule['rule']) && !call_user_func($rule['rule'], $array[$key]))
{
continue 2;
}
}
关于php - call_user_func() 来验证数组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15421726/