(PHP 4, PHP 5, PHP 7, PHP 8)
strspn — Возвращает длину участка в начале строки, которая полностью соответствует маске
Функция возвращает длину начального сегмента строки string
,
который содержит только символы из значения characters
.
Если параметры offset
и length
не указаны, то будет исследована вся строка string
.
Если они указаны, то эффект будет аналогичен вызову
strspn(substr($string, $offset, $length),
$characters)
(подробнее смотрите функцию substr).
Строка кода:
<?php
$var = strspn("42 — ответ на 128 вопрос.", "1234567890");
?>
2
переменной $var,
поскольку «42» — начальный участок строки string
,
который состоит только из символов «1234567890».
string
Исследуемая строка.
characters
Список из разрешённых символов.
offset
Позиция начала поиска в subject
.
Если offset
указан и неотрицателен,
то функция strspn() начнёт искать в строке
string
, начиная с позиции
offset
. Например, в
строке «abcdef
» символ с позицией
0
— «a
», символ
с позицией 2
—
«c
» и т. д.
Если offset
указали и его значение отрицательное,
функция strspn() начнёт поиск
в строке string
с позиции, которая отстаёт
на offset
символов с конца
string
.
length
Длина фрагмента строки string
для проверки.
Если параметр length
указали и значение аргумента неотрицательно,
функция проверит length
символов
с начала строки string
.
Если параметр length
указали и он отрицателен,
функция проверит строку string
начиная со стартовой позиции до позиции, которая отстаёт
на length
символов с конца строки
string
.
Функция возвращает длину первого участка строки string
,
который целиком состоит из символов characters
.
Замечание:
Когда смещение
offset
указано, возвращаемая длина строки определяется с этой позиции, а не с начала строкиstring
.
Версия | Описание |
---|---|
8.0.0 |
Параметр length теперь принимает значение null.
|
Пример #1 Пример использования функции strspn()
<?php
// Проверяемая строка не начинается ни с одного сивола маски
var_dump(strspn("foo", "o"));
// Проверить два символа входной строки начиная со смещения 1
var_dump(strspn("foo", "o", 1, 2));
// Проверить один символ входной строки начиная со смещения 1
var_dump(strspn("foo", "o", 1, 1));
?>
Результат выполнения приведённого примера:
int(0) int(2) int(1)
Замечание: Функция безопасна для обработки данных в двоичной форме.