(PHP 4, PHP 5, PHP 7)
strspn — Trouve la longueur du segment initial d'une chaîne contenant tous les caractères d'un masque donné
$subject
, string $mask
[, int $start
[, int $length
]] )
Trouve la longueur du segment initial de subject
qui contient uniquement les caractères
depuis le masque mask.
Si les paramètres start et length
sont omis, alors toutes les chaînes subject seront
analysées. S'ils sont fournis, alors les effets seront identiques à appeler
strspn(substr($subject, $start, $length), $mask)
(voir substr pour plus d'informations).
Le code suivant :
<?php
$var = strspn("42 est la réponse, mais quelle est la question.", "1234567890");
?>
subject dont les caractères sont contenus dans
"1234567890".
subjectLa chaîne à analyser.
maskLa liste des caractères autorisés.
start
La position dans la chaîne subject à
partir de laquelle nous devons chercher.
Si start est fourni et n'est pas négatif,
alors strspn() commencera à analyser la chaîne
subject à la position start.
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 start est fourni et est négatif,
alors strspn() commencera à analyser la chaîne
subject à la position start
depuis la fin de la chaîne subject.
lengthLa longueur de la chaîne à analyser.
Si length est fourni et n'est pas négatif,
alors subject sera examiné sur
length caractères après la position de départ.
Si length est fourni et est négatif,
alors subject sera examiné sur
length caractères depuis la fin
de la chaîne subject.
Retourne la taille du segment initial de la chaîne
subject qui est entièrement
constitué de caractères contenus dans mask.
Note:
Lorsque le paramètre
startest défini, la longueur retournée est comptée à partir de cette position, et non depuis le début du paramètresubject.
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", 1, 2));
// Examine un caractère depuis le début du sujet, à la position 1
var_dump(strspn("foo", "o", 1, 1));
?>
L'exemple ci-dessus va afficher :
int(0) int(2) int(1)
Note: Cette fonction gère les chaînes binaires.