Function to check if string length in greater than or less than required amount
I want to create a function to check if the length of a string is greater tha开发者_如何学Pythonn or less than a required amount:
Something like this:
function check_string_lenght($string, $min, $max)
{
if ($string == "")
{
return x;
}
elseif (strlen($string) > $max)
{
return y;
}
elseif (strlen($string) < $min)
{
return z;
}
else
{
return $string;
}
}
The problem is I don't know what to return. I don't want to return something like 'String is too short'. Maybe a number, 0
if == ""
, 1
if greater than, 2
if less than?
What would be the proper way of doing this?
You can return 1
, 0
and -1
like a lot of comparison functions do. In this case the return values could have these meanings:
0
: The string length is inside the bounds-1
: too short1
: too long
I don't think there is a proper way for this. You just have to document and explain the return values.
I would have the function return a boolean value, where TRUE
would mean that the string is within limits and FALSE
would mean that the string length is invalid and change the part of code where the function is used.
Furthermore, I would redesign the function as following:
function is_string_length_correct( $string, $min, $max ) {
$l = mb_strlen($string);
return ($l >= $min && $l <= $max);
}
The part of code where the function is used could look like this:
if (!is_string_length_correct($string, $min, $max)) {
echo "Your string must be at least $min characters long at at
most $max characters long";
return;
}
if the length is lower than required then return 0 if more than required then -1 if within range then 1
function check_string_lenght($string, $min, $max)
{
if (strlen($string)<$min)
return 0;
elseif (strlen($string) > $max)
return -1;
else
return 1;
}
function checkWord_len($string, $nr_limit) {
$text_words = explode(" ", $string);
$text_count = count($text_words);
for ($i=0; $i < $text_count; $i++){ //Get the array words from text
// echo $text_words[$i] ; "
//Get the array words from text
$cc = (strlen($text_words[$i])) ;//Get the lenght char of each words from array
if($cc > $nr_limit) //Check the limit
{
$d = "0" ;
}
}
return $d ; //Return the value or null
}
$string_to_check = " heare is your text to check"; //Text to check
$nr_string_limit = '5' ; //Value of limit len word
$rez_fin = checkWord_len($string_to_check,$nr_string_limit) ;
if($rez_fin =='0')
{
echo "false";
//Execute the false code
}
elseif($rez_fin == null)
{
echo "true";
//Execute the true code
}
精彩评论