strspn

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

strspn Trouve la longueur du segment initial d'une chaîne contenant tous les caractères d'un masque donné

Description

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

Trouve la longueur du segment initial de string qui contient uniquement les caractères depuis le masque characters.

Si les paramètres offset et length sont omis, alors toutes les chaînes string seront analysées. S'ils sont fournis, alors les effets seront identiques à appeler strspn(substr($string, $offset, $length), $characters) (voir substr pour plus d'informations).

Le code suivant :

<?php
$var 
strspn("42 est la réponse, mais quelle est la question.""1234567890");
?>
assigne 2 à la variable $var, car la chaîne "42" est le segment initial du paramètre string dont les caractères sont contenus dans "1234567890".

Liste de paramètres

string

La chaîne à analyser.

characters

La liste des caractères autorisés.

offset

La position dans la chaîne string à partir de laquelle nous devons chercher.

Si offset est fourni et n'est pas négatif, alors strspn() commencera à analyser la chaîne string à la position offset. Par exemple, dans la chaîne 'abcdef', le caractère à la position 0 est 'a', le caractère à la position 2 est 'c', et ainsi de suite.

Si offset est fourni et est négatif, alors strspn() commencera à analyser la chaîne string à la position offset depuis la fin de la chaîne string.

length

La longueur de la chaîne à analyser.

Si length est fourni et n'est pas négatif, alors string sera examiné sur length caractères après la position de départ.

Si length est fourni et est négatif, alors string sera examiné sur length caractères depuis la fin de la chaîne string.

Valeurs de retour

Retourne la taille du segment initial de la chaîne string qui est entièrement constitué de caractères contenus dans characters.

Note:

Lorsque le paramètre offset est défini, la longueur retournée est comptée à partir de cette position, et non depuis le début du paramètre string.

Historique

Version Description
8.0.0 length est désormais nullable.

Exemples

Exemple #1 Exemple avec strspn()

<?php
// Le sujet ne commence pas par un des caractères depuis le masque
var_dump(strspn("foo""o"));

// Examine 2 caractères depuis le début du sujet, à la position 1
var_dump(strspn("foo""o"12));

// Examine un caractère depuis le début du sujet, à la position 1
var_dump(strspn("foo""o"11));
?>

L'exemple ci-dessus va afficher :

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

Notes

Note: Cette fonction gère les chaînes binaires.

Voir aussi

  • strcspn() - Trouve un segment de chaîne ne contenant pas certains caractères