2012-06-26 69 views
31

thể trùng lặp:
Check if a variable is emptyCú pháp PHP để kiểm tra "không phải là null" hoặc một chuỗi rỗng?

Simple PHP câu hỏi:

Tôi có stement này:

if (isset($_POST["password"]) && ($_POST["password"]=="$password")) { 
...//IF PASSWORD IS CORRECT STUFF WILL HAPPEN HERE 
} 

Một nơi nào đó trên bản Tuyên Bố này tôi sử dụng dòng sau trong JavaScript của tôi để đặt tên người dùng là một biến cả trong JavaScript của tôi và trong PHP của tôi:

uservariable = <?php $user = $_POST['user']; print ("\"" . $user . "\"")?>; 

Những gì tôi muốn làm là thêm một điều kiện để đảm bảo $ dùng không null hoặc một chuỗi rỗng (nó không phải là bất kỳ giá trị cụ thể , Tôi không muốn nó trống rỗng. Cách thích hợp để làm điều này là gì?

Tôi biết đây là câu hỏi sill nhưng tôi không có kinh nghiệm với PHP. Xin hãy cho tôi lời khuyên. Cảm ơn!

+0

xin vui lòng sử dụng chức năng tìm kiếm trước khi đặt câu hỏi như bạn đã được nhắc đến trong http://stackoverflow.com/questions/ask-advice. Điều này đã được yêu cầu và trả lời trước đây: http://stackoverflow.com/search?q=check+for+empty+value+php – Gordon

Trả lời

52

Null HOẶC một chuỗi rỗng?

if (!empty($user)) {} 

Sử dụng trống().


Sau khi nhận ra rằng người dùng $ ~ = $ _POST [ 'user'] (nhờ mờ):

var uservariable='<?php 
    echo ((array_key_exists('user',$_POST)) || (!empty($_POST['user']))) ? $_POST['user'] : 'Empty Username Input'; 
?>'; 
+0

Có vẻ như tôi đã đọc câu hỏi khác với mọi người khác ... chúng ta đang nói về $ user, chứ không phải $ _POST ['user'], phải không? –

+1

'$ user' được gán cho' $ _POST ['user'] 'trong mã của anh ấy. Cũng có thể xác nhận trước khi chuyển nhượng nhưng nó thực sự không quan trọng –

+0

hmm, sự khác biệt, chính xác là gì? nếu tôi làm sai điều gì, hãy nói cho tôi biết! –

12

Sử dụng empty(). Nó kiểm tra cả hai chuỗi rỗng và null.

if (!empty($_POST['user'])) { 
    // do stuff 
} 

Từ hướng dẫn:

Những điều sau đây được coi là rỗng:

"" (an empty string) 
0 (0 as an integer) 
0.0 (0 as a float) 
"0" (0 as a string)  
NULL 
FALSE 
array() (an empty array) 
var $var; (a variable declared, but without a value in a class) 
+0

vui lòng đóng góp. – Gordon

+0

Lưu ý rằng nếu 'người dùng' không được đặt trên $ _POST, bạn sẽ nhận được cảnh báo. Nó sẽ vẫn hoạt động, nhưng nó sẽ nhanh chóng lấp đầy các bản ghi của bạn. Tôi thường giảm thiểu điều này với: 'if ((array_key_exists ('user', $ _ POST)) || (! Empty ($ _ POST ['user']))' –

+0

cả ba thứ này đều cho tôi thông báo lỗi: –

0

Xem PHP's strlen() function. Nó sẽ trả về độ dài của chuỗi

if (isset($_POST['user']) && strlen($_POST['user']) > 0) 
Các vấn đề liên quan