strcspn
(PHP 4, PHP 5, PHP 7, PHP 8)
strcspn — Encontra o tamanho do segmento inicial que não corresponde à máscara
Descrição
Retorna o tamanho do segmento inicial de
string
que não
contiver nenhum dos caracteres definidos no parâmetro characters
.
Se offset
e length
forem omitidos, então tudo da string
será
examinado. Se forem incluídos, então o efeito será o mesmo que
chamar strcspn(substr($string, $offset, $length),
$characters)
(consulte substr
para mais informações).
Parâmetros
string
-
O string a ser examinado.
characters
-
A string contendo os caracteres não permitidos.
offset
-
A posição na
string
para iniciar a pesquisa.Se
offset
for informado e não negativo, a função strcspn() começará a examinar astring
na posiçãooffset
. Por exemplo, na string 'abcdef
', o caractere na posição0
é 'a
', na posição2
é 'c
', e assim por diante.Se
offset
for informado e negativo, a função strcspn() começará a examinar astring
na posiçãooffset
a partir do final dastring
. length
-
O tamanho do segmento da
string
a ser examinado.Se
length
for informado e não negativo, astring
será examinada pelo número de caracteres emlength
a partir da posição inicial.Se
length
for informado e negativo, astring
será examinada a partir da posição inicial até o número de caracteres informado emlength
contados a partir do final dastring
.
Valor Retornado
Retorna o tamanho do segmento inicial da string
que consiste inteiramente de caracteres que não estejam em characters
.
Note:
Quando
offset
estiver definido, o tamanho retornado é contado a partir deste posição, e não a partir do início dastring
.
Registro de Alterações
Versão | Descrição |
---|---|
8.4.0 |
Antes do PHP 8.4.0, quando characters fosse uma string vazia,
a pesquisa incorretamente encerraria no primeiro byte nulo em string .
|
8.0.0 |
length agora pode ser nulo.
|
Exemplos
Example #1 Exemplo de 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);
?>
O exemplo acima produzirá:
int(1) int(0) int(6) int(5) int(4)
Notas
Note: Esta função é compatível com dados binários.
Veja Também
- strspn() - Encontra o comprimento do segmento inicial de uma string composta totalmente de caracteres contidos em uma máscara informada