2
我正在将CSV文件的某些值读入数组,并且希望在将每行插入MySQL数据库之前对每个值运行一些基本验证检查。我想知道如何有效地做到这一点,用某种规则数组。验证数组值的有效方法
例如,我只希望每一行中的某些位置值的CSV
$while ($data = fgetcsv....)
$val1 = $data[2];
$val2 = $data[9];
$val3 = $data[11];
我想验证每个VAL - 如果任何丘壑不验证,将中止插入
if (ctype_alnum($val1) AND ctype_alnum($val2) AND is_numeric($val3))
上面的方法在处理大约30个值时开始看起来相当低效,所以我想知道是否通过创建一个存储所需值位置和验证规则的数组来改进它的方法。像下面的东西...
$vals = array(
'val1' => array('pos' => 2, 'rule' => 'ctype_alphanum')
)
任何指针就可以了.. ..!
谢谢。 'pos'指数组中的位置(csv row),我将从这个字段中提取值。 – bsod99 2013-03-14 10:36:14
难道你不能第一次得到一个你需要验证的值,然后运行我的例子代码的数组?看起来,这会更容易。 – Eugene 2013-03-14 10:40:59
是的 - 这就是我现在这样做的方式,只是逐个浏览每个字段,访问所需的键 - >值并添加到数组中,但想知道是否有存储键/ pos信息的方法对于每个字段以及验证规则。可能不是.. – bsod99 2013-03-14 10:50:01