检查“is not null”或空字符串的PHP语法是什么?

时间:2012-06-26 17:51:01

标签: php variables null conditional-statements

  

可能重复:
  Check if a variable is empty

简单的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的经验。请指教,谢谢!

3 个答案:

答案 0 :(得分:73)

空或空字符串?

if (!empty($user)) {}

使用empty()。


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

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

答案 1 :(得分:19)

使用empty()。它检查两个空字符串和null。

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)  

答案 2 :(得分:0)

PHP's strlen() function。它将返回字符串的长度

if (isset($_POST['user']) && strlen($_POST['user']) > 0)