Signatur
Beschreibung
boolval() konvertiert einen beliebigen PHP-Wert explizit in den Typ bool. Die Funktion folgt dabei denselben Regeln wie der Cast-Operator (bool): 0, 0.0, "", "0", [], null und ein nicht initialisiertes Objekt ergeben false; alle anderen Werte ergeben true.
Typische Einsatzgebiete sind Konfigurationswerte aus externen Quellen (z. B. Datenbank oder Formulareingaben), bei denen unklar ist, ob ein Wert als Integer, String oder tatsächlich als Boolean vorliegt. Statt umständlicher Vergleiche oder Casts lässt sich boolval() leserlich in Bedingungen oder bei der Datennormalisierung einsetzen.
Im Gegensatz zum direkten Cast (bool) $value hat boolval() den Vorteil, dass es als Callable (z. B. in array_map()) verwendet werden kann, was bei anonymen Funktionen sonst zusätzlichen Code erfordern würde.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $value Pflicht | mixed | Der Wert, der in einen booleschen Wert umgewandelt werden soll. Akzeptiert jeden PHP-Typ: int, float, string, array, object, null usw. |
Rückgabewert
true zurück, wenn der übergebene Wert als wahr gilt, andernfalls false. Die Konvertierungsregeln entsprechen dem PHP-Boolean-Cast: 0, 0.0, "", "0", leere Arrays, null und false ergeben false; alle anderen Werte ergeben true.Beispiele
Grundlegende Konvertierungen verschiedener Typen
<?php
var_dump(boolval(1)); // true
var_dump(boolval(0)); // false
var_dump(boolval(-1)); // true
var_dump(boolval('')); // false
var_dump(boolval('0')); // false
var_dump(boolval('false')); // true (nicht-leerer String!)
var_dump(boolval([])); // false
var_dump(boolval([0])); // true
var_dump(boolval(null)); // false
boolval() als Callable in array_map()
<?php
$rohdaten = [1, 0, '', 'aktiv', null, 42, '0'];
$booleans = array_map('boolval', $rohdaten);
foreach ($booleans as $index => $wert) {
echo $index . ': ' . ($wert ? 'true' : 'false') . PHP_EOL;
}
Konfigurationswert aus Datenbank normalisieren
<?php
// Simulierter Datenbankwert (z. B. TINYINT 0/1 als String)
$dbWert = '1';
$aktiv = boolval($dbWert);
if ($aktiv) {
echo 'Feature ist aktiviert.';
} else {
echo 'Feature ist deaktiviert.';
}
// Wichtig · Fallstricke
Achtung bei Strings: Der String "false" ergibt true, da nur der leere String "" und "0" als falsch gelten. Wer einen String wie "false" oder "no" korrekt auswerten möchte, muss einen eigenen Vergleich implementieren (z. B. strtolower($val) === 'true').
Für einfache Inline-Ausdrücke ist der Cast (bool) $value funktional identisch und minimal schneller. boolval() empfiehlt sich vor allem dort, wo ein Callable benötigt wird oder der Code besonders lesbar sein soll.