Pengoptimuman Penggunaan Ungkapan Biasa dalam PHP
Ungkapan biasa adalah sesuatu yang sangat berat dan beroperasi dengan agak perlahan. Apabila terdapat penyelesaian alternatif, adalah lebih baik untuk menggunakannya.
Mari kita lihat contoh. Katakan kita perlu menyemak sama ada sesetengah rentetan bermula dengan tanda seru. Seorang pengaturcara menyelesaikan masalah ini menggunakan ungkapan biasa:
<?php
if (preg_match('#^!#', $str)) {
echo 'ya';
} else {
echo 'tidak';
}
?>
Walau bagaimanapun, masalah sedemikian mempunyai penyelesaian yang beroperasi dengan lebih pantas:
<?php
if ($str[0] == '!') {
echo 'ya';
} else {
echo 'tidak';
}
?>
Ungkapan biasa adalah sesuatu yang sangat berat dan beroperasi dengan agak perlahan. Sentiasa, di mana terdapat penyelesaian alternatif, adalah lebih baik untuk menggunakannya.
Dalam kod berikut, seorang pengaturcara menyemak
sama ada terdapat subrentetan '333' dalam rentetan.
Optimumkan penyelesaian pengaturcara ini.
Ini kodnya:
<?php
$str = '1233345';
if (preg_match('#333#', $str)) {
echo 'ada';
} else {
echo 'tiada';
}
?>
Dalam kod berikut, seorang pengaturcara menyemak
sama ada rentetan berakhir dengan .html.
Optimumkan penyelesaian pengaturcara ini.
Ini kodnya:
<?php
$str = 'index.html';
if (preg_match('#\.html$#', $str)) {
echo 'ya';
} else {
echo 'tidak';
}
?>
Tulis kod yang akan menyemak sama ada rentetan
berakhir dengan .png atau dengan .jpg.