Ford, Mike [LSS] <[EMAIL PROTECTED]> wrote: > > -----Original Message----- > > From: Curt Zirzow [mailto:[EMAIL PROTECTED] > > Sent: 16 July 2003 15:17 > > > > Justin French <[EMAIL PROTECTED]> wrote: > > > If you care about performance at all, try and find away around the > > > problem without regular expressions... > > > > > > I tested > > > > > > if( (strlen($str) == 6) && (is_int($str)) ) > > > > > > vs > > > > > > if(ereg('^[0-9]{6}$',$str)) > > > > > > > > > ...on my LAN test server with 100000 iterations, and the regexp was > > > nearly 2 times slower than the first solution. IMHO, it's > > also faster > > > > Excellent point! I find my self using regex's a bit to often > > when there > > are other solutions available. > > > > btw, have you ever tested the difference between > > > > if(ereg('^[0-9]{6}$',$str)) > > if(preg_grep('^[0-9]{6}$',$str)) > > The first will work and the second won't? > > Seriously, I think you mean: > > if (preg_match('/^[0-9]{6}$/', $str))
yea, I havn't used preg_* much, i wasn't aware you needed the //. > > Having said which, a quick run on my (rather ancient and slow Windows NT) > system with the above tests and 1,000,000 iterations of each reveals: > > Succeeding ereg: 21.1589909792 > Succeeding preg_match(): 14.6125850677 > > Failing ereg(): 21.2370660305 > Failing preg_match(): 13.5106118917 I wonder if preg treats [0-9] vs. \d differently: if (preg_match('/^\d{6}$/', $str)) > > Cheers! > > Mike Thanks, Curt. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php