PHP 4 на практике

         

Сравнение двух строк


Сравнение двух строк принадлежит к числу важнейших строковых операций любого языка. Хотя эту задачу можно решить несколькими разными способами, в РНР существуют четыре функции сравнения строк:

  • strcmp( );
  • strcasecmp( );
  • strspn( );
  • strcspn( ).

Все эти функции подробно описаны в следующих разделах.

strcmp( )

Функция strcmp( ) сравнивает две строки с учетом регистра символов. Синтаксис функции strcmp( ):

int strcmp (string строка1, string строка2)

После завершения сравнения strcmp( ) возвращает одно из трех возможных значений:

  • 0, если строка1 и строка2 совпадают;
  • < 0, если строка1 меньше, чем строка2;
  • > 0, если строка2 меньше, чем строка1.

В следующем фрагменте сравниваются две одинаковые строки:

$sthng1 = "butter";

$string2 = "butter";

if ((strcmp($string1. $string2)) == 0) :

print "Strings are equivalent!"; endif;

// Команда if возвращает TRUE

strcasecmp( )

Функция strcasecmp( ) работает точно так же, как strcmp( ), за одним исключением — регистр символов при сравнении не учитывается. Синтаксис функции strcasecmp( ):

int strcasecmp (string cтpoкa1, string строка2)

В следующем фрагменте сравниваются две одинаковые строки:

$string1 = "butter";

$string2 = "Butter";

if ((strcmp($string1, $string2)) == 0) :

print "Strings are equivalent!";

endif;

// Команда if возвращает TRUE

strspn( )

Функция strspn( ) возвращает длину первого сегмента строки1, содержащего символы, присутствующие в строке2. Синтаксис функции strspn( ):

int strspn (string строка1, string строка2)

Следующий фрагмент показывает, как функция strspn( ) используется для проверки пароля:

$password = "12345";

if (strspn($password, "1234567890") != strlen($password)) :

print "Password cannot consist solely of numbers!";

endif:

strcspn( )

Функция strcspn( ) возвращает длину первого сегмента строки1, содержащего символы, отсутствующие в строке2. Синтаксис функции strcspn( ):

int strcspn (string строка1, string строка2)

В следующем фрагменте функция strcspn( ) используется для проверки пароля:

$password = "12345";

if (strcspn($password, "1234567890") == 0) :

print "Password cannot consist solely of numbers!";

endif;

Содержание раздела