2011-08-31 30 views
6

tốt hơn không?tôi có nên sử dụng hàm rỗng() php

if (!empty($val)) { // do something } 

if ($val) { // do something } 

khi tôi thử nghiệm nó với PHP 5, tất cả các trường hợp sản xuất cùng một kết quả. những gì về PHP 4, hoặc có bất kỳ ý tưởng nào là cách tốt hơn?

+0

http://php.net/manual/en/types.comparisons.php – Mike

Trả lời

16

Bạn nên sử dụng cấu trúc empty() khi bạn không chắc liệu biến đó có tồn tại hay không. Nếu biến được dự kiến ​​sẽ được đặt, hãy sử dụng if ($var) để thay thế.

empty() tương đương với !isset($var) || $var == false. Nó returns true nếu biến là:

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

Thật sao? Tôi không nghĩ nó hoạt động theo cách đó. Tôi đã luôn luôn phải chạy isset() trước khi chạy rỗng(). Nhưng tôi chỉ thử nó ra và nó có vẻ là làm việc tuyệt vời trong PHP 5.3. Vâng, bạn học một cái gì đó mới mỗi ngày. Cảm ơn! – pthurmond

0

Đọc manual:

rỗng() là đối diện của (boolean) var , ngoại trừ không có cảnh báo nào là được tạo khi biến không được đặt.

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