Истифодаи Беҳтарини Ифодаҳои Мунтазами PHP
Ифодаҳои мунтазам чизе хеле вазнин ва нисбатан суст коркунанда мебошанд. Вақте ки ҳалли алтернативӣ мавҷуд аст, ҳатман бояд аз он истифода кард.
Биёед ба мисол нигарем. Фарз кунем, ки мо мехоҳем тафтиш кунем, ки оё як сатр бо аломати воқифанӣ оғоз мешавад ё не. Як барномасоз ин вазифаро бо истифода аз ифодаи мунтазам ҳал кард:
<?php
if (preg_match('#^!#', $str)) {
echo 'ҳа';
} else {
echo 'не';
}
?>
Аммо, чунин вазифа ҳалли зудтар коркунанда дорад:
<?php
if ($str[0] == '!') {
echo 'ҳа';
} else {
echo 'не';
}
?>
Ифодаҳои мунтазам чизе хеле вазнин ва нисбатан суст коркунанда мебошанд. Ҳамеша, вақте ки ҳалли алтернативӣ мавҷуд аст, бояд аз он истифода кард.
Дар рамзи зерин як барномасоз тафтиш мекунад,
ки оё дар сатр зерсатри '333' мавҷуд аст.
Ҳалли ин барномасозро беҳтар кунед.
Ин ҷо рамз аст:
<?php
$str = '1233345';
if (preg_match('#333#', $str)) {
echo 'мавҷуд аст';
} else {
echo 'мавҷуд нест';
}
?>
Дар рамзи зерин як барномасоз тафтиш мекунад,
ки оё сатр бо .html хотима меёбад.
Ҳалли ин барномасозро беҳтар кунед.
Ин ҷо рамз аст:
<?php
$str = 'index.html';
if (preg_match('#\.html$#', $str)) {
echo 'ҳа';
} else {
echo 'не';
}
?>
Рамзе нависед, ки тафтиш мекунад, оё сатр
бо .png ё бо .jpg хотима меёбад.