2010-03-09 7 views
2

Si vous avez un morceau de code qui obtient des données à partir d'une base de données SQLPHP valeur de rien?

$comms = $row['comments'] ; 

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

Ce que je veux faire est d'afficher le résultat seulement s'il y a quelque chose dans les données. J'utilise l'instruction if pour déterminer si $ comms contient des données, mais tout ce que j'essaie ("" "" 0 false) renvoie true. Quelle est la valeur de rien quand ils sont retournés (Même si je ne l'ai pas compris tout le code, je vous assure qu'il ya une valeur retournée dans $ comms)

Toute aide serait génial, merci

+1

NULL vient à l'esprit, plus cher vide() –

+2

Connaissez-vous l'opérateur === ? – jmucchiello

Répondre

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

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

Si vous êtes susceptible d'obtenir une valeur de la base de données qui ne contient que des espaces blancs (je doute, mais de toute façon), vous voulez trim variable d'abord:

En réponse à @anthares commentaire (du manual):

Les choses suivantes sont considérées vides:

  • "" (une chaîne vide)
  • 0 (0 comme entier)
  • "0" (0 sous forme de chaîne)
  • NULL
  • FALSE
  • array() (tableau vide)
  • var $ var; (Une variable déclarée, mais sans valeur dans une classe)
+0

Si le commentaire est "0" cela sera considéré comme vide, non? Est-ce correct? – anthares

+0

Je sais ce que la fonction retourne. Je veux dire que l'OP veut probablement vérifier si les valeurs sont NULL seulement ... et non "0" ou "". – anthares

+0

Je suis sous l'impression que '! Empty ($ a)' est vrai chaque fois que '$ a' est évalué à true. – Matthew

0

Utilisez la fonction is_null (mixed $var ):

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

Cela ne devrait-il pas être '! Is_null'? – Select0r

+0

Vrai, merci! :) – anthares

1

Utilisez les opérateurs === et !== à vérifier à la fois la valeur de type et.

-3

Vous pouvez essayer ceci:

$comms = $row['comments'] ; 

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

Null vérification peut également fonctionner (comme suggéré Anthares)

+0

pourquoi la downvoted? La réponse choisie utilise la même fonction. –

+0

Je ne vous ai pas downvoted, mais regardez le manuel de la fonction isEmpty, que vous avez utilisé. http://php.net/manual/en/splheap.isempty.php – anthares

+0

Désolé les gars, signifiait en fait vide(), pas isEmpty() –