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;



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