Comment extraire des nombres d'une chaîne de caractères en PHP

Minahil Noor 30 janvier 2023
  1. Utilisez la fonction preg_match_all() pour extraire des nombres d’une chaîne de caractères en PHP
  2. Utilisez la fonction filter_var() pour extraire des nombres d’une chaîne en PHP
  3. Utilisez la fonction preg_replace() pour extraire des nombres d’une chaîne en PHP
Comment extraire des nombres d'une chaîne de caractères en PHP

Dans cet article, nous introduirons des méthodes pour extraire des nombres d’une chaîne en PHP.

  • Utilisation de la fonction preg_match_all()
  • Utilisation de la fonction filter_variable()
  • Utilisation de la fonction preg_replace()

Utilisez la fonction preg_match_all() pour extraire des nombres d’une chaîne de caractères en PHP

Nous pouvons utiliser la fonction intégrée preg_match_all() pour extraire les chiffres d’une chaîne. Cette fonction recherche globalement un modèle spécifié à partir d’une chaîne. La syntaxe correcte pour utiliser cette fonction est la suivante:

preg_match_all($pattern, $inputString, $matches, $flag, $offset);

La fonction intégrée preg_match_all() a cinq paramètres. Les détails de ses paramètres sont les suivants

Paramètres Description
$pattern obligatoire C’est le modèle que nous voulons vérifier dans la chaîne donnée.
$inputString obligatoire Il s’agit de la chaîne pour laquelle nous voulons rechercher le modèle donné.
$matches facultatif Si ce paramètre est donné, alors la fonction y stocke le résultat du processus de correspondance.
$flags facultatif Ce paramètre a deux options : PREG_OFFSET_CAPTURE et PREG_UNMATCHED_AS_NULL. Vous pouvez lire sa description ici.
$offset facultatif Il indique la fonction de l’endroit où commencer le processus de mise en correspondance. Habituellement, la recherche commence par le début.

Cette fonction retourne une variable booléenne. Elle retourne vrai si le modèle donné existe.

Le programme ci-dessous montre comment nous pouvons utiliser la fonction preg_match_all() pour extraire des nombres d’une chaîne donnée.

<?php 
$string = 'Sarah has 4 dolls and 6 bunnies.';
preg_match_all('!\d+!', $string, $matches);
print_r($matches); 
?> 

Nous avons utilisé le modèle !\d+! pour extraire des nombres de la chaîne.

Production:

Array
(
    [0] => Array
        (
            [0] => 4
            [1] => 6
        )

)

Utilisez la fonction filter_var() pour extraire des nombres d’une chaîne en PHP

Nous pouvons également utiliser la fonction filter_var() pour extraire les chiffres d’une chaîne. La syntaxe correcte pour utiliser cette fonction est la suivante:

filter_var($variableName, $filterName, $options)

La fonction filter_var() accepte trois paramètres. Le détail de ses paramètres est le suivant

Paramètres Description
$variableName obligatoire C’est la variable à filtrer.
$filterName obligatoire C’est le nom du filtre qui sera appliqué à la variable. Par défaut, c’est FILTER_DEFAULT.
$options obligatoire Ce paramètre indique les options à utiliser.

Nous avons utilisé le filtre FILTER_SANITIZE_NUMBER_INT. Le programme qui extrait les nombres de la chaîne est le suivant:

<?php 
$string = 'Sarah has 4 dolls and 6 bunnies.';
$int = (int) filter_var($string, FILTER_SANITIZE_NUMBER_INT);  
echo("The extracted numbers are: $int \n"); 
?> 

Production:

The extracted numbers are: 46 

Utilisez la fonction preg_replace() pour extraire des nombres d’une chaîne en PHP

En PHP, nous pouvons également utiliser la fonction preg_replace() pour extraire les chiffres d’une chaîne. La syntaxe correcte pour utiliser cette fonction est la suivante:

preg_replace($regexPattern, $replacementVar, $original, $limit, $count)

La fonction preg_replace() accepte cinq paramètres. Le détail de ses paramètres est le suivant

Paramètres Description
$regexPattern obligatoire C’est le modèle que nous rechercherons dans la chaîne ou le tableau d’origine.
$replacementVar obligatoire C’est la chaîne ou le tableau que nous utilisons en remplacement de la valeur recherchée.
$original obligatoire C’est la chaîne ou le tableau dont nous voulons trouver la valeur et le remplacer.
$limit facultatif Ce paramètre limite le nombre de remplacements.
$count facultatif Ce paramètre indique le nombre total de remplacements effectués sur notre chaîne ou tableau d’origine.

Nous utiliserons le modèle /[^0-9]/ pour trouver les nombres dans la chaîne. Le programme qui extrait les nombres de la chaîne est le suivant:

<?php 
$string = 'Sarah has 4 dolls and 6 bunnies.';
$outputString = preg_replace('/[^0-9]/', '', $string);  
echo("The extracted numbers are: $outputString \n"); 
?> 

Production:

The extracted numbers are: 46 

Article connexe - PHP String