假设我们向一个PHP文件发送了一个POST请求,其中包含...&title=title的查询参数,其中title的值为title=$(#title).val();
(假设我们正在使用Jquery)。在PHP中,我们有$title=$_POST['title'];
。假设title为空,那么PHP会将null视为字符串还是空字符串?
假设我们向一个PHP文件发送了一个POST请求,其中包含...&title=title的查询参数,其中title的值为title=$(#title).val();
(假设我们正在使用Jquery)。在PHP中,我们有$title=$_POST['title'];
。假设title为空,那么PHP会将null视为字符串还是空字符串?
"NULL"
不等同于NULL
。 - Amal Murali标题值通过ajax来自javascript,如果javascript的值未定义,那么php会将其解释为字符串吗?
-- 是的。它不会被解释为NULL
。 - Amal Murali$(#title).val();
作为数据发送到php脚本的ajax请求中,并且输入为空,则它将只是一个空字符串。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);
NULL
之外,您无法判断变量是否为空。尝试使用任何其他类似于 null 的值将导致得到一个空字符串。 - Martijntitle
不会为空,val()
总是返回一个字符串(假设你已经选择了一个输入)。 - Quentin