bgosalci bgosalci - 4 months ago 11
PHP Question

Checking if the string is empty

I have a function isNotEmpty which returns true if the string is not empty and false if the string is empty. I've found out that it is not working if I pass an empty string through it.

function isNotEmpty($input)
{
$strTemp = $input;
$strTemp = trim($strTemp);

if(strTemp != '') //Also tried this "if(strlen($strTemp) > 0)"
{
return true;
}

return false;
}


The validation of the string using isNotEmpty is done:

if(isNotEmpty($userinput['phoneNumber']))
{
//validate the phone number
}
else
{
echo "Phone number not entered<br/>";
}


If the string is empty the else doesn't execute, I don't understand why, can someone please shed some light on this please.

Answer

Simple problem actually. Change:

if(strTemp != '')

to

if($strTemp != '')

Arguably you may also want to change it to:

if($strTemp !== '')

since != '' will return true if you pass is numeric 0 and a few other cases due to PHP's automatic type conversion.

Also bear in mind PHP has an empty() function already.

Comments