PHP hiçbir değeri?

5 Cevap php

Bir sql veritabanından bazı verileri alır kodu bir parça varsa

$comms = $row['comments'] ; 

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

Ne yapmak istediğim veri şey SADECE sonucu görüntülemek olduğunu. Ben $ haberleşme içinde herhangi bir veri olup olmadığını belirlemek için eğer deyimi kullanıyorum ama ben denemek her şey ("" "" 0 false) true döndürür. Döndüğümde (Ben sizi temin ederim bütün kodu dahil olmasına rağmen, bir değer $ haberleşme orada iade edilir) hiçbir şey değeri nedir

Herhangi bir yardım büyük, teşekkürler olurdu

5 Cevap

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

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

Yalnızca whitespaces (ben yine de şüpheliyim ama) içeren veritabanından bir değer elde etmek olasılığı varsa, istediğiniz trim bu değişken birinci olacak:

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

@ ANTHARES yanıt olarak yorum (dan manual):

The following things are considered to be empty:

  • "" (Boş dize)
  • 0 (bir tamsayı olarak 0)
  • "0" (bir dizge olarak 0)
  • NULL
  • YANLIŞ
  • array () (boş bir dizi)
  • var $ var; (Değişken bildirilmiş, ancak bir sınıfta bir değeri olmayan)
is_null($foo)

A propos:

A variable is considered to be null if:

  • Bu sabit atanmış NULL.
  • henüz herhangi bir değere ayarlanmış olmamıştır.
  • o olmuştur unset().

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

Değerini and yazmanız kontrol etmek === ve !== operatörlerini kullanın.

: is_null ( mixed $var ) işlevini kullanın

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

Bu deneyebilirsiniz:

$comms = $row['comments'] ; 

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

(ANTHARES önerilen) null denetimi de işe yarayabilir