strspn

(PHP 4, PHP 5, PHP 7, PHP 8)

strspn Возвращает длину участка в начале строки, которая полностью соответствует маске

Описание

strspn(
    string $string,
    string $characters,
    int $offset = 0,
    ?int $length = null
): int

Функция возвращает длину начального сегмента строки 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)

Примечания

Замечание: Функция безопасна для обработки данных в двоичной форме.

Смотрите также

  • strcspn() - Находит длину начального фрагмента строки, который не соответствует маске