检查字符串长度,最大值和最小值

joh*_*sel 2 php strlen

是否有一个函数来检查字符串是太长还是太短,我通常最终在几个地方写这样的东西:

if (strlen($input) < 12)
{
   echo "Input is too short, minimum is 12 characters (20 max).";
}
elseif(strlen($input) > 20)
{
   echo "Input is too long, maximum is 20 characters.";
}
Run Code Online (Sandbox Code Playgroud)

我知道你可以很容易地写一个,但有一个内置到PHP?

我通常在验证输入时收集错误,因此上面的代码将被写入:

$errors = array();

    if (strlen($input) < 12)
    {
       $errors['field_name'] = "Field Name is too short, minimum is 12 characters (20 max).";
    }
    elseif(strlen($input) > 20)
    {
       $errors['field_name'] = "Field Name is too long, maximum is 20 characters.";
    }
Run Code Online (Sandbox Code Playgroud)

怎么能成为一个函数^?

Roc*_*mat 7

我猜你可以做这样的功能:

function validStrLen($str, $min, $max){
    $len = strlen($str);
    if($len < $min){
        return "Field Name is too short, minimum is $min characters ($max max)";
    }
    elseif($len > $max){
        return "Field Name is too long, maximum is $max characters ($min min).";
    }
    return TRUE;
}
Run Code Online (Sandbox Code Playgroud)

然后你可以做这样的事情:

$errors['field_name'] = validStrLen($field, 12, 20);
Run Code Online (Sandbox Code Playgroud)