63

可能重复:
检查变量是否为空

简单的PHP问题:

我有这个词根:

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

在此语句上方的某处,我在我的 JavaScript 中使用以下行将用户名设置为我的 JavaScript 和 PHP 中的变量:

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

我想要做的是添加一个条件以确保 $user 不是 null 或空字符串(它不必是任何特定的值,我只是不希望它为空。什么是正确的方法做这个?

我知道这是一个愚蠢的问题,但我没有使用 PHP 的经验。请指教,谢谢!

4

2 回答 2

113

空或空字符串?

if (!empty($user)) {}

使用空()。


在意识到 $user ~= $_POST['user'] 之后(感谢马特):

var uservariable='<?php 
    echo ((array_key_exists('user',$_POST)) || (!empty($_POST['user']))) ? $_POST['user'] : 'Empty Username Input';
?>';
于 2012-06-26T17:53:49.520 回答
27

使用empty(). 它检查空字符串和空字符串。

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

从手册:

以下内容被认为是空的:

"" (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)  
于 2012-06-26T17:52:32.937 回答