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"; } ?> 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"; } ?> 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. 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
Archived
This topic is now archived and is closed to further replies.