Signatur
Beschreibung
is_double() ist ein vollständiger Alias der Funktion is_float() und verhält sich identisch zu dieser. Sie prüft, ob der übergebene Wert vom Typ float (Gleitkommazahl) ist, und gibt true zurück, wenn das der Fall ist, andernfalls false.
Da is_double() lediglich ein historischer Alias ist – der Name stammt aus der Zeit, als PHP den Datentyp intern noch double nannte – empfiehlt es sich, in modernem PHP-Code stattdessen is_float() zu verwenden. Beide Funktionen sind funktional äquivalent und nicht als veraltet markiert, jedoch ist is_float() der bevorzugte, aussagekräftigere Name.
Typische Anwendungsfälle sind Typprüfungen vor arithmetischen Operationen, die nur für Gleitkommazahlen sinnvoll sind, oder die Validierung von Benutzereingaben und Funktionsargumenten in streng typisierten Kontexten, wenn kein strikter Typmodus (declare(strict_types=1)) verwendet wird.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $value Pflicht | mixed | Der zu prüfende Wert beliebigen Typs. |
Rückgabewert
true zurück, wenn value vom Typ float ist, andernfalls false.Beispiele
Grundlegende Typprüfung mit is_double
<?php
$a = 3.14;
$b = 42;
$c = '2.71';
var_dump(is_double($a)); // true
var_dump(is_double($b)); // false
var_dump(is_double($c)); // false
var_dump(is_double(1.0)); // true
Vergleich mit is_float – identisches Verhalten
<?php
$wert = 9.99;
if (is_double($wert)) {
echo 'is_double: Wert ist ein Float.' . PHP_EOL;
}
if (is_float($wert)) {
echo 'is_float: Wert ist ein Float.' . PHP_EOL;
}
// Beide Aufrufe liefern exakt dasselbe Ergebnis
var_dump(is_double($wert) === is_float($wert));
// Wichtig · Fallstricke
Historischer Hintergrund: Der Name is_double stammt aus frühen PHP-Versionen, in denen der Gleitkomma-Typ intern als double bezeichnet wurde. In modernem PHP heißt der Typ offiziell float. Es wird empfohlen, is_float() zu verwenden, um den Code lesbarer und konsistent mit der aktuellen PHP-Nomenklatur zu halten.
Achtung bei ganzzahligen Floats: Der Ausdruck is_double(1.0) ergibt true, auch wenn der Wert mathematisch einer ganzen Zahl entspricht. PHP unterscheidet hier strikt nach dem internen Typ, nicht nach dem Wert.