HOWTO · PHP

Wie man Zahlen aus einer Zeichenkette in PHP extrahiert

Dieser Artikel führt ein, wie man in PHP Zahlen aus einem String extrahiert. Er enthält die preg_match_all() Funktion, die filter_var() Funktion und die preg_replace() Funktion.

In diesem Artikel stellen wir Methoden vor, um Zahlen aus einer Zeichenkette in PHP zu extrahieren.

  • Verwendung der preg_match_all() Funktion
  • Verwendung der Funktion filter_variable()
  • Verwendung der Funktion preg_replace()

Verwendung von die Funktion preg_match_all() zum Extrahieren von Zahlen aus einer Zeichenkette in PHP

Wir können die eingebaute Funktion preg_match_all() verwenden, um Zahlen aus einer Zeichenkette zu extrahieren. Diese Funktion sucht global nach einem bestimmten Muster aus einer Zeichenkette. Die korrekte Syntax zur Verwendung dieser Funktion lautet wie folgt:

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

Die eingebaute Funktion preg_match_all() hat fünf Parameter. Die Einzelheiten ihrer Parameter sind wie folgt

Parameter Beschreibung
$pattern obligatorisch Es ist das Muster, das wir in der gegebenen string einchecken wollen.
$inputString obligatorisch Es ist die string, nach der wir das gegebene Muster suchen wollen.
$matches optional Wenn dieser Parameter angegeben wird, dann speichert die Funktion das Ergebnis des Abgleichsvorgangs in ihr ab.
$flags optional Dieser Parameter hat zwei Optionen: PREG_OFFSET_CAPTURE und PREG_UNMATCHED_AS_NULL. Sie können seine Beschreibung hier lesen.
$offset optional Sie gibt die Funktion an, wo der Matching-Prozess beginnen soll. In der Regel beginnt die Suche von Anfang an.

Diese Funktion gibt eine Boolean-Variable zurück. Sie gibt true zurück, wenn das angegebene Muster existiert.

Das Programm unten zeigt, wie wir die Funktion preg_match_all() verwenden können, um Zahlen aus einer gegebenen Zeichenkette zu extrahieren.

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

Wir haben das !\d+! Muster verwendet, um Zahlen aus der Zeichenkette zu extrahieren.

Ausgabe:

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

)

Verwenden Sie die Funktion filter_var(), um Zahlen aus einer Zeichenkette in PHP zu extrahieren

Wir können auch die Funktion filter_var() verwenden, um Zahlen aus einer Zeichenkette zu extrahieren. Die korrekte Syntax zur Verwendung dieser Funktion lautet wie folgt:

filter_var($variableName, $filterName, $options)

Die Funktion filter_var() akzeptiert drei Parameter. Die Einzelheiten ihrer Parameter sind wie folgt

Parameter Beschreibung
$variableName obligatorisch Es ist die zu filternde Variable.
$filterName obligatorisch Es ist der Name des Filters, der auf die Variable angewendet wird. Standardmäßig lautet er FILTER_DEFAULT.
$options obligatorisch Dieser Parameter gibt Auskunft über die zu verwendenden Optionen.

Wir haben den Filter FILTER_SANITIZE_NUMBER_INT verwendet. Das Programm, das Zahlen aus der Zeichenkette extrahiert, ist wie folgt:

<?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"); 
?> 

Ausgabe:

The extracted numbers are: 46 

Verwenden Sie die Funktion preg_replace(), um Zahlen aus einer Zeichenkette in PHP zu extrahieren

In PHP können wir auch die Funktion preg_replace() verwenden, um Zahlen aus einer Zeichenkette zu extrahieren. Die korrekte Syntax zur Verwendung dieser Funktion lautet wie folgt:

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

Die Funktion preg_replace() akzeptiert fünf Parameter. Die Einzelheiten ihrer Parameter sind wie folgt

Parameter Beschreibung
$regexPattern obligatorisch Es ist das Muster, das wir in der ursprünglichen string oder Array suchen werden.
$replacementVar obligatorisch Es ist die string oder das Array, das wir als Ersatz für den gesuchten Wert verwenden.
$original obligatorisch Es ist die string oder ein Array, aus dem wir Wert finden und ersetzen wollen.
$limit optional Dieser Parameter begrenzt die Anzahl der Ersetzungen.
$count optional Dieser Parameter gibt die Anzahl der gesamten Ersetzungen an unserer ursprünglichen string oder Array an.

Wir werden das Muster /[^0-9]/ verwenden, um Zahlen in der string zu finden. Das Programm, das die Zahlen aus der Zeichenkette extrahiert, ist wie folgt:

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

Ausgabe:

The extracted numbers are: 46