Не могу не перепостить вопрос о производительности PHP-скрипта

Feb 13, 2009 15:43

http://community.livejournal.com/ru_php/1326378.html

Вкратце:

Как быстрее вырезать два участка из строки: подменив их на пустую строчку или применив sub_str. При условии, что перед этим был вызван preg_match() (в PHP регулярные выражения не прекомпилируются).

Копипаста на всякий случай:
какой вариант быстрее?

Код - пример #1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

function convert_bla_bla($numb)
{
$numb = (string)$numb;
$leng = strlen($numb);
if($leng==9) $numb = '0'.$numb;
elseif($leng!=10) return 'error: invalid input data.';
if(preg_match('/[^0-9]/',$numb)) return 'error: invalid input data.';
$numb[4] = '';
$numb[6] = '';
$numb[7] = '';
$numb = '101'.$numb;
return $numb;
}
print convert_bla_bla('2709073792');
?>

или

Код - пример #1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

function convert_bla_bla($numb)
{
$numb = (string)$numb;
$leng = strlen($numb);
if($leng==9) $numb = '0'.$numb;
elseif($leng!=10) return 'error: invalid input data.';
if(preg_match('/[^0-9]/',$numb)) return 'error: invalid input data.';
$numb = substr_replace($numb,'',4,1);
$numb = substr_replace($numb,'',5,2);
$numb = '101'.$numb;
return $numb;
}
print convert_bla_bla('2709073792');
?>

programming, humour

Previous post Next post
Up