itil-harry
Goto Top

Problem mit Funktion empty()

Finde keine Funktion, die das zurückliefert, was ich will

Hi @ all,

dies ist ein Anfängerproblem und ich dachte eigentlich nicht, dass mir das solche Schwierigkeiten macht:

habe eine Webseite, auf der ich Fussballergebnisse ausgebe. Mit empty() versuche ich zu prüfen, ob bereits ein Ergebnis eingegeben wurde.
Falls nicht, steht in der MySQL-DB NULL drin. die 0 ist hierbei falsch, da ein Spiel ja auch 0:irgendwas ausgehen kann.
Das komplette Ergebnis abzufragen bringt auch nichts, weil ein Spiel ja auch 0:0 ausgehen kann (soll ja mal vorkomen):

Leider liefert empty() auch dann TRUE, wenn das Datenfeld eine 0 beinhaltet.
Weiss hier jemand eine Funktion, die für ein leeres Feld nur dann TRUE liefert, wenn das Feld tatsächlich NULL ist ?

Bei selfphp hab ich leider nichts entsprechendes gefunden.

Danke und Gruß
ITIL-Harry

Content-ID: 134541

Url: https://administrator.de/contentid/134541

Ausgedruckt am: 22.11.2024 um 06:11 Uhr

Arano
Arano 28.01.2010 um 00:21:18 Uhr
Goto Top
Hallo ITIL-Harry,

ich kenne eine Funktion, sie nenne sich PHP-Manual - is_null().
Alternativ dazu könntest du das auch in einer Bedingung prüfen wenn du anstelle von "==", "===" verwendest, dann wird nämlich auch der Type verglichen:
<?php

$var1 = 0;
if(NULL ==  $var1) echo '$var1 ==  NULL'.PHP_EOL;  
if(NULL === $var1) echo '$var1 === NULL'.PHP_EOL;  
// Ausgabe:
// $var1 ==  NULL

$var2 = NULL;
if(NULL ==  $var2) echo '$var2 ==  NULL'.PHP_EOL;  
if(NULL === $var2) echo '$var2 === NULL'.PHP_EOL;  
// Ausgabe:
// $var2 ==  NULL
// $var2 === NULL

?>

~Arano
nxclass
nxclass 28.01.2010 um 09:10:53 Uhr
Goto Top
isset() sollte auch funktionieren.

Aber wie wäre es wenn deine SQL Abfrage schon 'n/a' zurück liefert ?
SELECT ... IF( `spalte` IS NULL, 'n/a', `spalte`) ...
Arano
Arano 28.01.2010 um 11:18:58 Uhr
Goto Top
Zitat von @nxclass:
isset() sollte auch funktionieren.
Nee, ich glaube hier nicht !
Zitat von php.net/isset:
isset — Determine if a variable is set and is not NULL
Er wollte ja auf genau NULL geprüft haben face-wink
Außerdem sollte man wenn man den INHALT einer Variablen prüfen möchte die entsprechenden Funktionen verwenden (sofern es sie gibt) und nicht mit anderen. Schließlich wird mit isset() die Existenz der Variable überprüft.


~Arano
ITIL-Harry
ITIL-Harry 28.01.2010 um 13:46:41 Uhr
Goto Top
Danke, genau das wars

Warum finde ich so einen einfachen und sprechnden Funktionsnamen wie "is_null()" nicht --- muss blind gewesen sein !!!

Vielen Dank !!!

Gruß
ITIL-Harry