strspn
(PHP 4, PHP 5, PHP 7)
strspn — Возвращает длину участка в начале строки, полностью соответствующего маске
Описание
$string
, string $characters
, int $offset
= 0
, int|null $length
= null
) : int
Возвращает длину участка от начала строки string
,
содержащий только символы из characters
.
Если параметры offset
и length
не указаны, то будет исследована вся строка string
.
Если они указаны, то эффект будет аналогичен вызову
strspn(substr($subject, $start, $length), $mask)
(подробнее смотрите функцию 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.0 |
length теперь допускает значение 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)
Примечания
Замечание: Эта функция безопасна для обработки данных в двоичной форме.