Start · Sprachen · PHP · Referenz · boolval

boolval

Funktion

Wandelt einen Wert beliebigen Typs in einen booleschen Wert (<code>true</code> oder <code>false</code>) um und gibt diesen zurück.

seit PHP 5.5.0 Kategorie: type

Signatur

boolval(mixed $value): bool

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

Typ
bool
Beschreibung
Gibt 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
bool(true) bool(false) bool(true) bool(false) bool(false) bool(true) bool(false) bool(true) bool(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;
}
0: true 1: false 2: false 3: true 4: false 5: true 6: false

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.';
}
Feature ist aktiviert.

// 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.