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<?php
  if (preg_match('#^!#', $str)) {
    echo 'ya';
  } else {
    echo 'tidak';
  }
?>

Walau bagaimanapun, masalah sedemikian mempunyai penyelesaian yang beroperasi dengan lebih pantas:

php<?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.

Задание 1

Dalam kod berikut, seorang pengaturcara menyemak sama ada terdapat subrentetan '333' dalam rentetan. Optimumkan penyelesaian pengaturcara ini.

Ini kodnya:

php<?php
  $str = '1233345';
  
  if (preg_match('#333#', $str)) {
    echo 'ada';
  } else {
    echo 'tiada';
  }
?>
Задание 2

Dalam kod berikut, seorang pengaturcara menyemak sama ada rentetan berakhir dengan .html. Optimumkan penyelesaian pengaturcara ini.

Ini kodnya:

php<?php
  $str = 'index.html';
  
  if (preg_match('#\.html$#', $str)) {
    echo 'ya';
  } else {
    echo 'tidak';
  }
?>
Задание 3

Tulis kod yang akan menyemak sama ada rentetan berakhir dengan .png atau dengan .jpg.