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