我在这里使用2个正则表达式函数,我想创建另一个函数,当2个正则表达式都是false
时返回false,如果不是,则true
。
这里的问题是当我想在第三个中使用2个正则表达式函数时,我必须给它们参数,这是我认为不必要的,因为第三个函数只会返回一个简单的true或false。每当我为第3个中的2个正则表达式函数提供参数时,我得到undefined variable
。
我尝试使用global
变量,但由于这是一个不好的做法,我正在寻找更好的解决方案。
代码:
function regex1($input)
{
$regex= "/^[A-Za-z0-9 ]*$/";
if (!preg_match($regex, $input))
{
return false;
}
else
{
return true;
}
}
function regex2($input)
{
$regex= "/^[A-Za-z0-9 ]*$/";
if (!preg_match($regex, $input))
{
return false;
}
else
{
return true;
}
}
function checkBoth()
{
if (regex1($input) === false || regex2($input) === false)
{
return false;
}
else
{
return true;
}
}
编辑: 我在其他文件中使用的checkBoth函数与其他2个正则表达式函数一起使用:
if (!regex1($input))
{
// show error at the same time
}
if (!regex2($input))
{
// show error at the same time
}
if(checkBoth())
{
// success
}
答案 0 :(得分:0)
function regex2($input,$secondVar=false)
{....
稍后在您需要添加代码的地方:
if($secondVar !== false){
// do whatever...
}
如果您无法使用" false"你可以清空字符串''或任何其他不会出现的值。