Aktueller Standort: Startseite> Neueste Artikel> Wie überprüfe ich, ob ein Array -Element eine schwimmende Punktnummer mit IS_DOUBLE ist?

Wie überprüfe ich, ob ein Array -Element eine schwimmende Punktnummer mit IS_DOUBLE ist?

gitbox 2025-06-15

1. Einführung in IS_DOUBLE ()

is_double () ist eine integrierte Funktion in PHP, mit der festgestellt wird, ob eine Variable einen schwimmenden Punkttyp hat. Seine Verwendung ist genau die gleiche wie is_float () , tatsächlich ist is_double () ein Alias ​​für is_float () .

Grammatik:

 is_double(mixed $var): bool

Rückgabewert:

  • Wenn $ var eine schwimmende Punktzahl ist, geben Sie True zurück

  • Ansonsten kehren Sie falsch zurück

2. Überprüfen Sie das schwimmende Punktelement im Array

Wir können die Funktion array_filter () und is_double () kombinieren, um schwimmende Punktelemente im Array herauszufiltern. Zum Beispiel:

 <?php
$values = [10, 3.14, 'hello', 2.718, 42, 0.99, true];

$floats = array_filter($values, 'is_double');

print_r($floats);
?>

Ausgangsergebnis:

 Array
(
    [1] => 3.14
    [3] => 2.718
    [5] => 0.99
)

Hier verwenden wir Array_Filter (), um jedes Element im Array durchzusetzen und in jedem Element is_double () aufzurufen. Nur schwimmende Punktzahlen werden im zurückgegebenen Array aufbewahrt.

3. Fügen Sie mehr Logik mit Callback -Funktionen hinzu

Wenn Sie komplexere Überprüfungen durchführen möchten, z. B. nur schwimmende Punktzahlen größer als 1,0, können Sie anonyme Funktionen als Rückrufe verwenden:

 <?php
$values = [0.5, 1.5, 2, '3.0', 3.14, false];

$result = array_filter($values, function($val) {
    return is_double($val) && $val > 1.0;
});

print_r($result);
?>

Ausgangsergebnis:

 Array
(
    [1] => 1.5
    [4] => 3.14
)

4. Überprüfen Sie jedes Element des Arrays und geben Sie das Ergebnis aus

Manchmal müssen wir durch das Array iterieren und jedes Element prüfen. Wir können eine Foreach -Schleife verwenden:

 <?php
$data = [1.23, '2.34', 3, 4.56, null];

foreach ($data as $index => $value) {
    if (is_double($value)) {
        echo "Elementindex $index Es ist eine schwimmende Punktzahl,Der Wert ist:$value\n";
    } else {
        echo "Elementindex $index 不Es ist eine schwimmende Punktzahl,Typ ist:" . gettype($value) . "\n";
    }
}
?>

Ausgangsergebnis:

 Elementindex 0 Es ist eine schwimmende Punktzahl,Der Wert ist:1.23
Elementindex 1 不Es ist eine schwimmende Punktzahl,Typ ist:string
Elementindex 2 不Es ist eine schwimmende Punktzahl,Typ ist:integer
Elementindex 3 Es ist eine schwimmende Punktzahl,Der Wert ist:4.56
Elementindex 4 不Es ist eine schwimmende Punktzahl,Typ ist:NULL

5. Beispielanwendung: Filter -Schwimmpunktzahlen in der Benutzereingabe filtern

Stellen Sie sich vor, Sie erstellen eine einfache API, die eine Reihe von Zahlen vom Kunden entnimmt und nur schwimmende Punktzahlen für einige Berechnungen extrahiert:

 <?php
// Angenommen, dies ist von POST Daten, die in der Anfrage empfangen werden
$user_input = json_decode(file_get_contents('https://gitbox.net/api/input'), true);

$floats = array_filter($user_input, 'is_double');

// Durchführen nachfolgende Berechnungen
$total = array_sum($floats);
echo "Die Summe der schwimmenden Punktzahlen ist:$total";
?>

Zusammenfassen

Obwohl is_double () häufig durch is_float () in der tatsächlichen Verwendung ersetzt wird, sind die Funktionen der beiden genau gleich, und Entwickler können auswählen, welche nach ihren Gewohnheiten verwendet werden sollen. Durch Kombination von Array_filter () , anonymen Funktionen, Foreach und anderen Methoden können wir schwimmende Punktzahlen im Array flexibel filtern und verarbeiten, um die Robustheit und Lesbarkeit des Codes zu verbessern.

Mit is_double () können Sie Datentypen genauer steuern und stärkere Typ -Garantien für PHP -Anwendungen bereitstellen.