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

一个例子,我有一个变量,它的值是“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_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'
?>