PHP如何解释Javascript的Null值?

时间:2013-09-29 15:56:21

标签: javascript php

Sol假设我们将帖子查询发送到PHP文件, 这个查询我们有...& title = title 其中title是title=$(#title).val();(假设我们包含Jquery)  在PHP中,我们有$title=$_POST['title']; 那么假设标题为null,PHP会将null视为字符串吗?或者空的东西?

4 个答案:

答案 0 :(得分:3)

来自PHP Manual

特殊NULL值表示没有值的变量。 NULL是类型NULL唯一可能的值。

如果符合以下情况,则变量被视为NULL

  • 已为其分配常量NULL
  • 尚未设置为任何值。
  • 已经unset()

"NULL"NULL不同。

var_dump("null" == NULL);

输出:

bool(false)

答案 1 :(得分:2)

在将标题发送到服务器之前,标题会转换为字符串。

将JS值null转换为字符串会产生字符串"null"。因此,PHP只会将变量解释为字符串。

但是,我怀疑你会从空输入框中收到 null 值。你会得到一个空字符串。

答案 2 :(得分:1)

在您的情况下,如果您将ajax请求中的$(#title).val();作为数据发送到php脚本,并且输入为空,则它只是一个空字符串。

答案 3 :(得分:0)

php拦截js null为" null" - >字符串,所以为了处理表单请求,我在我的PHP代码中有一些小工作,如下面

function checknull($arg){
    if($arg == "null"){
      return;
    }else{
        return $arg;
    }
}
$a=array();
$b = "null";
$a['hi'] = checknull($b);
var_dump($a);

这将输出为

array(1) { ["hi"]=> NULL }

//同样可以测试$ _REQUEST

$var1 = checknull($_POST['title']);
var_dump($var1);

或者您可以使用

$var1 = $_POST['title'] === 'null'? NULL : $_POST['title'];
var_dump($var1);