Я использую 2 функции регулярного выражения здесь, и я хочу сделать другую функцию, которая возвращает ложь, когда оба регулярных выражения оба false
а если нет, то true
,
Проблема здесь в том, что когда я хочу использовать 2 функции регулярных выражений в третьей, я должен задать им параметры, что, я думаю, не является необходимым, поскольку третья функция будет возвращать только простое значение true или false. Я получаю undefined variable
всякий раз, когда я даю параметры 2 функциям регулярного выражения в 3-й.
Я пытался с помощью 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, которую я использую в моем другом файле, как это вместе с двумя другими функциями регулярного выражения:
if (!regex1($input))
{
// show error at the same time
}
if (!regex2($input))
{
// show error at the same time
}
if(checkBoth())
{
// success
}
function regex2($input,$secondVar=false)
{....
Позже в коде на месте, где вам нужно просто добавить:
if($secondVar !== false){
// do whatever...
}
Если вы не можете использовать «false», вы можете просто очистить строку » или любое другое значение, которое там не появится.
Других решений пока нет …