ГЛАВА 8. Строки и регулярные выражения
Сравнение двух строк
Сравнение двух строк принадлежит к числу важнейших строковых операций любого языка. Хотя эту задачу можно решить несколькими разными способами, в РНР существуют четыре функции сравнения строк:
- 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;
Назад |
Содержание раздела |
Общее Содержание |
Вперед
Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
|