gammaman Posted May 13, 2008 Share Posted May 13, 2008 Why does thid function always evaluate to true? Based on what is being passed to the function, false should be returned. <?php function test($var) { $pattern='^[A-Z][0-5]{3}$'; $x=ereg($pattern,$var); } $value="1323"; test($value); if($value==true){ echo "value is true"; }else{ echo "false"; } ?> Quote Link to comment https://forums.phpfreaks.com/topic/105414-help-with-simple-regex-function/ Share on other sites More sharing options...
rhodesa Posted May 13, 2008 Share Posted May 13, 2008 First, your function isn't returning anything. Second, you are testing the value of $value, not the return value. Your code should look like: <?php function test($var) { $pattern='^[A-Z][0-5]{3}$'; return ereg($pattern,$var); } $value="1323"; $result = test($value); if($result){ //The == true is not needed echo "value is true"; }else{ echo "false"; } ?> Quote Link to comment https://forums.phpfreaks.com/topic/105414-help-with-simple-regex-function/#findComment-539843 Share on other sites More sharing options...
gammaman Posted May 13, 2008 Author Share Posted May 13, 2008 Thank you that did it. Quote Link to comment https://forums.phpfreaks.com/topic/105414-help-with-simple-regex-function/#findComment-539846 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.