# substr_count

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

substr_count — Compte le nombre d'occurrences de segments dans une chaîne

### Description

substr_count(
string `$haystack`,
string `$needle`,
int `$offset` = 0,
?int `$length` = `null`
): int

substr_count() retourne le nombre d'occurrences de `needle` dans la chaîne `haystack`. Notez que `needle` est sensible à la casse.

> Note:

> Cette fonction ne compte pas les chaînes de caractères qui se recouvrent. Voyez l'exemple ci-dessous !

### Liste de paramètres

`haystack`

  La chaîne de caractères pour rechercher à l'intérieur

`needle`

  La chaîne de caractères que l'on recherche

`offset`

  Le décalage où on commence à compter. Si la position est négative, le comptage commence depuis la fin de la chaîne.

`length`

  La taille maximale après le décalage spécifié pour rechercher la chaîne. La fonction émet une erreur si le décalage plus la taille est plus grand que la taille de `haystack`. Une taille négative fera que le comptage commencera à la fin de `haystack`.

### Valeurs de retour

Cette fonction retourne un entier.

### Historique

Version | Description
--- | ---
8.0.0 | `length` est désormais nullable.
7.1.0 | Ajout du support des nombres négatifs pour `offset` et `length`. `length` peut aussi être `0` maintenant.

### Exemples

Exemple #1 Exemple avec substr_count()

`<?php
$text = 'Ceci est un test';
echo strlen($text), PHP_EOL; // 16
echo substr_count($text, 'est'), PHP_EOL; // 2
// la chaîne de caractères est réduite à 'st un test', alors elle affiche 1
echo substr_count($text, 'est', 6), PHP_EOL;
// le texte est réduit à 'st u', alors elle affiche 0
echo substr_count($text, 'is', 3, 3), PHP_EOL;
// affiche seulement 1, parce que elle ne compte pas les chaînes de caractères
// qui se recouvrent
$text2 = 'gcdgcdgcd';
echo substr_count($text2, 'gcdgcd'), PHP_EOL;
// lève une exception parce que 5+10 > 14
echo substr_count($text, 'is', 5, 10), PHP_EOL;
?>`

### Voir aussi

- count_chars() - Retourne des statistiques sur les caractères utilisés dans une chaîne
- strpos() - Cherche la position de la première occurrence dans une chaîne
- substr() - Retourne un segment de chaîne
- strstr() - Trouve la première occurrence dans une chaîne