Potablog 1338.at Header

 
Die PHP-Funktion empty() gibt Auskunft darüber, ob die angegebe Variable leer ist. Folgendes weiß das Manual dazu zu sagen
ZitatReturns FALSE if var has a non-empty and non-zero value.

The following things are considered to be empty:
"" (an empty string)
0 (0 as an integer)
"0" (0 as a string)
NULL
FALSE
array() (an empty array)
var $var; (a variable declared, but without a value in a class)


Man sollte nun doch meinen, dass folgende beide Code-Snippets das gleiche Ergebnise erzeugen: nämlich true.
Code
<?php
$var = "0";
var_dump(empty($var));
?>

Code
<?php
$var = "00";
var_dump(empty($var));
?>

Dem ist aber nicht so.
Das erste snippet gibt folgendes wiede
Zitatbool(true)

das zweite Snippet
Zitatbool(false)


Um darauf zu kommen, habe ich gerade zwei Stunden meines Lebens verschwendet...Dankeschön!
Direktlink  Kommentare: 4 geschrieben von potassium am Donnerstag, 19.08.2010, 22:06
Eingeordnet unter: PHP-Entwicklung, Programmieren

Kommentar(e):
Martin Leyrer hat am Donnerstag, 19.08.2010 um 22:44 geschrieben:
Kommentar ändern löschen

Dabei stehts in der Doku.
"0" ist halt was anderes, als "00". Wenn Du auf den numerischen Wert überprüfen willst, musst Du den String zuerst in einen Int konvertieren.
potassium hat am Donnerstag, 19.08.2010 um 23:29 geschrieben:
Kommentar ändern löschen

Schön von dir auch mal wieder was zu lesen :)
Anscheinend ist das so, dass "0" was anderes ist als "00". Logisch ist es aber ned. Ich habs nun anders gelöst. Aber bis man da drauf kommt...
Dominik911 hat am Freitag, 20.08.2010 um 11:05 geschrieben:
Kommentar ändern löschen

Logik & logische Befehle diverser Programmiersprachen sind leider oft 2 Paar Schuhe... :-/
Lese mich gerade in JavaFX rein & auch da ist nicht alles logisch^^
Wenigstens ist die Syntax bei letzterem ned so aufgeblasen wie bei Java! :D

Kommentar hinzufügen

Name*:
E-Mail-Adresse*: (Wird nicht veröffentlicht!)
WWW:


Text *:

HTML ist in den Kommentaren deaktiviert, alternativ können Sie aber (ausgewählte) bbCode-Befehle benutzen.

Privater Kommentar (Ist nur für den Autor des Eintrags lesbar.)
Benachrichtige mich, wenn es Antworten auf meinen Kommentar gibt.
Meine Eingaben merken.

Bitte geben Sie folgenden Antibot-Code ein:
Auth-Code
Antibot-Code*: