# strcspn

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

strcspn — Trouve un segment de chaîne ne contenant pas certains caractères

### Description

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

Retourne la taille du premier segment de `string` qui ne contient aucun des caractères de `characters`.

Si `offset` et `length` sont omis, alors la totalité de `string` sera examinée. S'ils sont inclus, alors l'effet sera identique à appeler `strcspn(substr($string, $offset, $length), $characters)` (voir substr pour plus d'informations).

### Liste de paramètres

`string`

  La chaîne à examiner.

`characters`

  La chaîne contenant tous les caractères désactivés.

`offset`

  La position dans `string` à partir de laquelle on commence à chercher.

  Si `offset` est fourni et n'est pas négatif, alors strcspn() va commencer à examiner `string` à la `offset` ème position. 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() va commencer à examiner `string` à la `offset` ème position depuis la fin de `string`.

`length`

  La longueur du segment de `string` à examiner.

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

  Si `length` est fourni et est négatif, alors `string` sera examiné depuis la position de départ jusqu'à `length` caractères depuis la fin de `string`.

### Valeurs de retour

Retourne la longueur du segment initial de `string` qui contient seulement des caractères qui ne sont pas dans `characters`.

> Note:

> Lorsque le paramètre `offset` est définie, la longueur retournée est comptée depuis cette position, et non depuis le début de `string`.

### Historique

Version | Description
--- | ---
8.4.0 | Avant PHP 8.4.0, lorsque `characters` était une chaîne vide, la recherche s'arrêtait incorrectement au premier octet nul dans `string`.
8.0.0 | `length` est désormais nullable.

### Exemples

Exemple #1 Exemple avec 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);
?>`

L'exemple ci-dessus va afficher :

    int(1)
    int(0)
    int(6)
    int(5)
    int(4)

### Notes

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

### Voir aussi

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