(PHP 4, PHP 5, PHP 7, PHP 8)
strspn — Encuentra la longitud del segmento inicial de un string que contiene todos los caracteres de una máscara dada
Encuentra la longitud del segmento inicial de string
que contiene únicamente los caracteres
desde la máscara characters
.
Si los parámetros offset
y length
son omitidos, entonces todo el string string
será
analizado. Si son proporcionados, entonces los efectos serán idénticos a llamar
strspn(substr($string, $offset, $length), $characters)
(ver substr para más información).
El código siguiente:
<?php
$var = strspn("42 es la respuesta, pero ¿cuál es la pregunta?", "1234567890");
?>
2
a la variable $var,
ya que el string "42" es el segmento inicial del parámetro
string
cuyos caracteres están contenidos en
"1234567890".
string
El string a analizar.
characters
La lista de caracteres autorizados.
offset
La posición en el string string
a
partir de la cual se debe buscar.
Si offset
es proporcionado y no es negativo,
entonces strspn() comenzará a analizar el string
string
en la posición offset
.
Por ejemplo, en el string 'abcdef
', el carácter
en la posición 0
es 'a
', el carácter
en la posición 2
es 'c
', y así
sucesivamente.
Si offset
es proporcionado y es negativo,
entonces strspn() comenzará a analizar el string
string
en la posición offset
desde el final del string string
.
length
La longitud del string a analizar.
Si length
es proporcionado y no es negativo,
entonces string
será examinado sobre
length
caracteres después de la posición de inicio.
Si length
es proporcionado y es negativo,
entonces string
será examinado sobre
length
caracteres desde el final
del string string
.
Retorna el tamaño del segmento inicial del string
string
que está enteramente
constituido de caracteres contenidos en characters
.
Nota:
Cuando el parámetro
offset
está definido, la longitud retornada es contada a partir de esta posición, y no desde el inicio del parámetrostring
.
Versión | Descripción |
---|---|
8.0.0 |
length es ahora nullable.
|
Ejemplo #1 Ejemplo con strspn()
<?php
// El sujeto no comienza con uno de los caracteres desde la máscara
var_dump(strspn("foo", "o"));
// Examina 2 caracteres desde el inicio del sujeto, en la posición 1
var_dump(strspn("foo", "o", 1, 2));
// Examina un carácter desde el inicio del sujeto, en la posición 1
var_dump(strspn("foo", "o", 1, 1));
?>
El resultado del ejemplo sería:
int(0) int(2) int(1)
Nota: Esta función es segura binariamente.