2012-04-26 36 views

Odpowiedz

18

Używam strlen do sprawdzania, czy ciąg znaków jest pusty lub pusty.

if (strlen($str) == 0){ 
    //your code here 
} 
+6

Co powiesz na dodanie przycięcia tuż przed $ str? Czy to pomoże w stworzeniu pustych przestrzeni? Jak 'if (strlen (trim ($ str)) == 0) {' –

10

Sposób empty() uważa również NULL jako pustą wartością. Jak również tych wartości:

  • "" (pusty łańcuch)
  • 0 (0 a jest liczbą całkowitą)
  • 0,0 (0 jako pływak)
  • "0" (0 jako string)
  • NULL
  • FAŁSZ
  • array() (pusta tablica)
  • var $ var; (zmienna zadeklarowana, ale bez wartości w klasie)
+0

Dzięki, to przyzwyczajenie praca w moim przypadku, ponieważ wartości takie jak 0 nie są traktowane jako pusta w moim kodu. – EOB

+1

@EOB Tak, czasami jest to problem z metodą empty(). Następnie powinieneś użyć czegoś takiego jak 'if (is_null ($ var) || $ var ==" ")'. – Oldskool

2

Jeśli chcesz sprawdzić ciąg pusty, ale nie w przypadku 0 spróbuj to ..

if (!is_numeric($str) && empty($str)) 

tutaj is_numeric czek na ciąg nie jest to wartość liczbowa, a następnie empty czek na null.

Dzięki ..