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 указан и неотрицателен, то строка string будет исследована в течение length после стартовой позиции.

Если length указан и отрицателен, то строка string будет исследована начиная со стартовой позиции до позиции, отстоящей на length символов с конца string.

Возвращаемые значения

Возвращает длину первого участка string, состоящего целиком из символов в characters.

Замечание:

Когда offset указан, возвращаемая длина строки определяется, начиная с этой позиции, а не с начала строки string.

Список изменений

ВерсияОписание
8.0.0length теперь допускает значение null.

Примеры

Пример #1 Пример использования strspn()

<?php
// subject не начинается ни из какого символа из mask
var_dump(strspn("foo", "o"));

// проверить два символа из subject, начиная с позиции 1
var_dump(strspn("foo", "o", 1, 2));

// проверить один символ из subject, начиная с позиции 1
var_dump(strspn("foo", "o", 1, 1));
?>

Результат выполнения приведённого примера:

int(0) int(2) int(1)

Примечания

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

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

  • strcspn() - Возвращает длину участка в начале строки, не соответствующего маске
To Top