2009-12-31 37 views
9

Ý tôi là ... tôi "đặt" nó thành NULL. Vì vậy, isset ($ somethingNULL) == true?Liệu isset() trả về false nếu tôi gán NULL cho một biến?

+19

tại sao chưa bạn đã cố gắng tự quản lý? – Flatlin3

+4

Có thể mất ít thời gian để kiểm tra hơn là đặt câu hỏi. Bạn thậm chí đã gõ mã cần thiết để kiểm tra câu hỏi của bạn vào chính câu hỏi đó. – meagar

+0

bây giờ bạn biết bạn phải tìm kiếm http://php.net/manual/ cho các tài liệu tham khảo php liên quan đến câu hỏi :) –

Trả lời

23
bool isset (mixed $var [, mixed $var [, $... ]]) 

Xác định xem một biến được thiết lập và không phải là NULL.

Nếu biến chưa được đặt với unset(), biến đó sẽ không còn được đặt. isset() sẽ trả về SAI nếu thử nghiệm một biến đã được đặt thành NULL. Cũng lưu ý rằng một byte NULL ("\ 0") không tương đương với hằng số NULL NULL.

Return giá trị

Returns TRUE nếu var tồn tại và có giá trị khác hơn là NULL, FALSE khác.

Từ manual. Examples trên cùng một trang.

+7

Vậy làm thế nào tôi có thể kiểm tra sự tồn tại của mảng? Trước khi tìm câu hỏi này, tôi nghĩ 'isset' trả về' true' cho các biến/khóa 'null'. –

+2

@ TomášZato Sử dụng [array_key_exists()] (http://php.net/manual/en/function.array-key-exists.php) để thay thế. – Rob

19

Có - từ ISSET() documentation:

$foo = NULL; 
var_dump(isset($foo)); // FALSE 

/* Array example */ 
$a = array ('test' => 1, 'hello' => NULL); 

var_dump(isset($a['test']));   // TRUE 
var_dump(isset($a['foo']));    // FALSE 
var_dump(isset($a['hello']));   // FALSE 
+0

Thể hiện cách tự mình thử nghiệm? Upvote cho bạn, thưa bạn. – mozillalives

+0

Thay vì sao chép dán tài liệu như tôi đã làm: D Nhưng chúng tôi đang làm nó để tránh chỉ cần đặt một liên kết trong trường hợp nó cho một 404 sau đó (không xảy ra với php.net mặc dù) –

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