strcspn
PHP Manual
PHP Manual»Функции для работы со строками»strcspn

strcspn

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

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

Описание

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

Функция возвращает длину начального фрагмента строки string, который не содержит ни одного символа из строки characters.

Функция проверит всю строку 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.

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

Версия Описание
8.4.0 До PHP 8.4.0 при передаче в параметр characters пустой строки поиск ошибочно останавливался на первом NUL-байте в аргументе string.
8.0.0 Параметр length теперь принимает значение null.

Примеры

Пример #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() - Возвращает длину участка в начале строки, которая полностью соответствует маске

To Top