On Mon, Jan 25, 2010 at 22:51, Daevid Vincent <[email protected]> wrote:
>> -----Original Message-----
>> From: [email protected] [mailto:[email protected]] On
>> Behalf Of Daniel Brown
>> Sent: Monday, January 25, 2010 6:43 PM
>> To: John Taylor-Johnston
>> Cc: PHP-General
>> Subject: Re: [PHP] If the first four characters are "0000", then do {}
>>
>> On Mon, Jan 25, 2010 at 21:36, John Taylor-Johnston
>> <[email protected]> wrote:
>> > I am reading the manual: http://ca.php.net/manual/en/ref.strings.php
>> >
>> > $mydata->restored = "0000-00-00";
>>
>> <?php
>>
>> $o[] = '0942-23-23';
>> $o[] = '0000-00-00';
>> $o[] = '1238-00-00';
>> $o[] = '0001-23-45';
>> $o[] = '0000-11-22';
>>
>> for($i=0;$i<count($o);$i++) {
>> if(preg_match('/^[0]{4,}\-/U',$o[$i])) {
>> echo "Offset #".$i." matches: ".$o[$i].PHP_EOL;
>> }
>> }
>> ?>
>
> Holy macaroni. Talk about overkill!
>
> if (substr($mydata->restored,0,4) == "0000") { }
Overkill?
<?php
$o[] = '0942-23-23';
$o[] = '0000-00-00';
$o[] = '1238-00-00';
$o[] = '0001-23-45';
$o[] = '0000-11-22';
$now = microtime();
for($i=0;$i<count($o);$i++) {
if(preg_match('/^[0]{4,}\-/U',$o[$i])) {
//echo "Offset #".$i." matches: ".$o[$i].PHP_EOL;
}
}
echo (microtime(1) - $now)."\n";
$later = microtime();
for($i=0;$i<count($o);$i++) {
if(substr($o[$i],0,4) == "0000") {
//echo "Offset #".$i." matches: ".$o[$i].PHP_EOL;
}
}
echo (microtime(1) - $later)."\n";
?>
Sample Output:
1264522257.0001
1264522257
The preg_match() method, which is more expandable and adaptable
than relying on static position, took less than one-ten-thousandths of
a second longer to calculate than substr().
Just an FYI before you start worshipping pasta, Mr. Vincent. ;-P
--
</Daniel P. Brown>
[email protected] || [email protected]
http://www.parasane.net/ || http://www.pilotpig.net/
Looking for hosting or dedicated servers? Ask me how we can fit your budget!
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php