2012-04-26 25 views

Trả lời

18

Tôi đang sử dụng strlen để kiểm tra xem chuỗi có rỗng hay không.

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

Làm thế nào về việc thêm một trim ngay trước khi $ str? Điều đó có giúp tạo ra không gian trống không? Giống như 'if (strlen (trim ($ str)) == 0) {' –

10

Phương thức empty() cũng coi NULL là giá trị trống. Cũng như tất cả các giá trị:

  • "" (một chuỗi rỗng)
  • 0 (0 là một số nguyên)
  • 0,0 (0 như một phao)
  • "0" (0 như một string)
  • NULL
  • FALSE
  • array() (một mảng trống)
  • var $ var; (một biến được khai báo, nhưng không có giá trị trong một lớp)
+0

Cảm ơn, điều này sẽ không hoạt động trong trường hợp của tôi vì các giá trị như 0 không được coi là trống trong mã của tôi. – EOB

+1

@EOB Vâng, đôi khi đó là nỗi đau với phương thức empty(). Sau đó, bạn nên sử dụng một cái gì đó như 'if (is_null ($ var) || $ var ==" ")'. – Oldskool

2

Nếu bạn muốn kiểm tra chuỗi rỗng nhưng không phải trong trường hợp 0 ​​sau đó thử này ..

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

đây is_numeric kiểm tra cho chuỗi không phải là một giá trị số, và sau đó empty kiểm tra cho null.

cảm ơn ..

Các vấn đề liên quan