2 Stimmen

PHP-Wert von nichts?

Wenn ich ein Stück Code habe, das einige Daten aus einer SQL-Datenbank abruft

$comms = $row['comments'] ; 

if ($comms != "") {
  $tooltip = "<b>Notes :</b> $comms </br>  ";  
}

Was ich tun möchte, ist das Ergebnis NUR anzeigen, wenn es etwas in den Daten ist. Ich verwende die if-Anweisung, um festzustellen, ob $comms irgendwelche Daten enthält, aber alles, was ich versuche ("" " " 0 false) gibt true zurück. Was ist der Wert von "nothing", wenn er zurückgegeben wird (obwohl ich nicht den gesamten Code eingefügt habe, versichere ich Ihnen, dass ein Wert in $comms zurückgegeben wird)

Jede Hilfe wäre großartig, danke

7voto

karim79 Punkte 333786
if (!empty($comms)) {
  $tooltip = "<b>Notes :</b> $comms </br>  ";  
}

Voir http://php.net/manual/en/function.empty.php

Wenn Sie wahrscheinlich einen Wert aus der Datenbank erhalten, der nur Leerzeichen enthält (was ich bezweifle, aber egal), müssen Sie trim diese Variable zuerst:

$comms = trim($comms);
if (!empty($comms)) {
  $tooltip = "<b>Notes :</b> $comms </br>  ";  
}

Als Antwort auf @anthares Kommentar (aus dem manuel ):

Die folgenden Dinge werden als als leer:

  • "" (eine leere Zeichenkette)
  • 0 (0 als ganze Zahl)
  • "0" (0 als Zeichenkette)
  • NULL
  • FALSCH
  • array() (ein leeres Array)
  • var $var; (eine deklarierte Variable, aber ohne Wert in einer Klasse)

3voto

serhio Punkte 27312
is_null($foo)

A propos:

Eine Variable wird als Null betrachtet wenn:

  • wurde ihm die Konstante NULL .
  • es wurde noch kein Wert festgelegt.
  • es wurde unset() .

http://php.net/manual/en/language.types.null.php

1voto

を使用します。 === y !== Operatoren zur Überprüfung beider Werte Typ.

0voto

anthares Punkte 10719

を使用します。 is_null ( mixed $var ) Funktion:

if (!is_null($comms)){
  $tooltip = "<b>Notes :</b> $comms </br>  ";  
}

-3voto

Tilo Mitra Punkte 2805

Sie könnten dies versuchen:

$comms = $row['comments'] ; 

if (!isEmpty($comms)) {
    $tooltip = "<b>Notes :</b> $comms </br>  ";  
}

Die Nullprüfung kann auch funktionieren (wie von anthares vorgeschlagen)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X