Php 让它说空
一个例子,我有一个变量,它的值是“null”。但是,当我回显它时,它显示为nothing(因为它是null) test.php:Php 让它说空,php,Php,一个例子,我有一个变量,它的值是“null”。但是,当我回显它时,它显示为nothing(因为它是null) test.php: <?php $a=null; echo 'start'.$a.'end'; ?> 在firefox中请求文件test.php时,是否有方法使此输出为“startnullend”?var_dump不起作用,出于某种原因也不打印。简单的方法是使用IF语句测试null,然后输出null,但是有不同的方法吗?使用var\u转储而不是echo var_du
<?php
$a=null;
echo 'start'.$a.'end';
?>
在firefox中请求文件test.php时,是否有方法使此输出为“startnullend”?var_dump不起作用,出于某种原因也不打印。简单的方法是使用IF语句测试null,然后输出null,但是有不同的方法吗?使用var\u转储而不是echo
var_dump($var)
显示类型和值您可以使用
var\u dump
或print\u r
来显示值。您可以使用var\u dump
或print\u r首先将其转换为字符串:
echo (string)$myvar;
有一个函数用于-var_dump()
或者,尝试以下功能:
function getReadableVar($var){
if($var === null){
$var = "null";
}elseif($var === true){
$var = "true";
}elseif($var === false){
$var = "false";
}
return $var;
}
echo getReadableVar($var);
//or
echo var_dump($var);
把它做成一根绳子
$a = 'null';
编写一个函数来执行此操作,并在需要检查null时调用它
function n($var) {
return $var === null ? "null" : $var;
}
并且每次都使用它
$a=null;
echo 'start'.n($a).'end';
如果要在屏幕上显示字符串NULL,则:
$a = "NULL";
否则null是一个保留字是吗?试试这个
echo 'start'.(isset($a) ? $a : 'null').'end';
我不知道为什么这个不能在另一个问题上,但是用这个
<?php
$a=null;
echo 'a'.($a===null?'null':$a).'b';
?>
将null
强制转换为字符串将导致空字符串。如果要输出null
,必须明确执行以下操作:
echo 'start'.((is_null($a)) ? 'null' : '').'end';
或者其他类似的东西
function toString($a) {
return is_null($a) ? "null" : $a;
}
(未测试)
这也将导致一个空的”
字符串,因为echo
实际上是在后台做的…无法更改$a,它来自外部源(必须包含其定义以简化示例)。为什么不想打印任何内容?需要将其放入mysql表中。==false
?与null
相比,这将失败。因为我们特别谈论null
,所以应该使用==
。我认为is\u null
更合适,因为它更便于移植(在常见的SQL方言中,null==null
是false,所以需要使用某种is null
操作符)。虽然这在PHP中不是严格正确的,但我个人还是希望看到是空的,而不是==
比较…如果给出的答案不令人满意,请留下一些反馈。你的问题不是很清楚,所以如果人们误解了你,那么澄清一下你需要什么。大多数顶级答案都使用了if语句,但问题是在寻找一种不同的方式。请关闭/删除该问题。谢谢。所以请接受最能回答你问题的答案(也就是说,“你不能没有条件”)。被告知没有答案仍然是一个答案。你把你的价值观搞混了。如果为空,则打印$a
,如果不是空,则打印'null'
。不,火箭是对的。我把事情搞砸了。。。但现在已经纠正了
<?php
// prints 'null', if $var is null
echo is_null($var) ? 'null' : $var;
// prints 'true' or 'false'
echo (bool)$var ? 'true' : 'false'
?>