strcspn
(PHP 4, PHP 5, PHP 7, PHP 8)
strcspn — Находит длину начального фрагмента строки, который не соответствует маске
Описание
Функция проверит всю строку string,
если аргументы offset и length
не передали.
Эффект будет аналогичным вызову
strcspn(substr($string, $offset, $length), $characters),
если аргументы передали.
Дополнительную информацию даёт описание функции substr.
Список параметров
string
-
Строка, которую требуется проверить.
characters
-
Строка с запрещёнными символами.
offset
-
Позиция в строке string, с которой требуется начать поиск.
Функция strcspn() начнёт проверку строки
string с позиции смещения offset,
если в параметр offset передали неотрицательное значение.
Например: в строке "abcdef" в позиции 0
стоит символ "a", в позиции 2 — символ "c"
и так далее.
Функция strspn() начнёт проверку строки string
с позиции смещения offset с конца строки string,
если в параметр offset отрицательное значение.
length
-
Фрагмент какой длины требуется проверить в строке string.
Функция проверит в строке string
столько символов с позиции смещения и до конца строки,
сколько указали в аргументе length,
если в параметр length передали неотрицательное значение.
Функция проверит в строке string
столько символов с позиции смещения и до начала строки,
сколько указали в аргументе length,
если в параметр length передали отрицательное значение.
Возвращаемые значения
Функция возвращает длину начального фрагмента строки string,
которая состоит только из символов, которые не содержатся
в аргументе characters.
Замечание:
При установке параметра offset
функция возвращает и отсчитывает длину фрагмента с позиции смещения,
а не с начала строки string.
Примеры
Пример #1
Пример поиска функцией strcspn()
длины начального фрагмента строки, который не совпадает с маской
<?php
$a = strcspn('banana', 'a');
$b = strcspn('banana', 'abcd');
$c = strcspn('banana', 'z');
$d = strcspn('abcdhelloabcd', 'a', -9);
$e = strcspn('abcdhelloabcd', 'a', -9, -5);
var_dump($a);
var_dump($b);
var_dump($c);
var_dump($d);
var_dump($e);
?>
Результат выполнения приведённого примера:
int(1)
int(0)
int(6)
int(5)
int(4)
Примечания
Замечание:
Функция безопасна для обработки данных в двоичной форме.
Смотрите также
- strspn() - Возвращает длину участка в начале строки, которая полностью соответствует маске