Sol假设我们将帖子查询发送到PHP文件,
这个查询我们有...& title = title
其中title是title=$(#title).val();
(假设我们包含Jquery)
在PHP中,我们有$title=$_POST['title'];
那么假设标题为null,PHP会将null视为字符串吗?或者空的东西?
答案 0 :(得分:3)
来自PHP Manual:
特殊NULL
值表示没有值的变量。 NULL
是类型NULL
唯一可能的值。
如果符合以下情况,则变量被视为NULL
NULL
。 "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);