最近看了一下上级写的valid类,都是正则表达式。我想不用正则,应该会提高些运行速度,
比如验证是否是0~9的数字组合。
function check_num($data)
{
$len = strlen($data)
for($i=0;$i<$len;$i++)
{
$ord = $data[$i];
if( $ord >= '0' && $ord <= '9' )
{
return true;
}
else
{
return false;
}
}
}
这样写应该比正则快。但如果这样,不是要写很多if来看用什么函数,因为php又不支持函数式编程。
不过最近看php手册,看到了可变函数。还算不错的解决办法。
php手册 可变函数示例
<?php
function foo() {
echo "In foo()<br />\n";
}
function bar($arg = '') {
echo "In bar(); argument was '$arg'.<br />\n";
}
// 使用 echo 的包装函数
function echoit($string)
{
echo $string;
}
$func = 'foo';
$func(); // This calls foo()
$func = 'bar';
$func('test'); // This calls bar()
$func = 'echoit';
$func('test'); // This calls echoit()
?>
要调用和验证变量相关的函数
//简单示例
arr['type'] = 'num';
$func = 'check_' . arr['type']; //安全起见,限check_开头的函数。
$func($data);
比如验证是否是0~9的数字组合。
function check_num($data)
{
$len = strlen($data)
for($i=0;$i<$len;$i++)
{
$ord = $data[$i];
if( $ord >= '0' && $ord <= '9' )
{
return true;
}
else
{
return false;
}
}
}
这样写应该比正则快。但如果这样,不是要写很多if来看用什么函数,因为php又不支持函数式编程。
不过最近看php手册,看到了可变函数。还算不错的解决办法。
php手册 可变函数示例
<?php
function foo() {
echo "In foo()<br />\n";
}
function bar($arg = '') {
echo "In bar(); argument was '$arg'.<br />\n";
}
// 使用 echo 的包装函数
function echoit($string)
{
echo $string;
}
$func = 'foo';
$func(); // This calls foo()
$func = 'bar';
$func('test'); // This calls bar()
$func = 'echoit';
$func('test'); // This calls echoit()
?>
要调用和验证变量相关的函数
//简单示例
arr['type'] = 'num';
$func = 'check_' . arr['type']; //安全起见,限check_开头的函数。
$func($data);