上下文
为什么不打印任何内容?
$a=sprintf('<s');
echo $a;
答案 0 :(得分:7)
您是否正在输入浏览器? <a
可以被解释为标签的开头(恰好是不完整/未闭合),因此被隐藏。如果是这种情况,请检查页面的来源。调试脚本输出时永远不要相信主浏览器窗口,因为它会在设计上隐藏你的东西。
答案 1 :(得分:3)
它在我的Linux机器上运行良好。
$ php <<< '<?php $a=sprintf("<s"); echo $a; ?>'
<s
你可能会因为缓冲而受到伤害。尝试在打印输出中添加换行符,或使用var_dump()
。
echo "$a\n";
var_dump($a);
答案 2 :(得分:2)
它打印&lt; s
<swesley@ubuntu:~$ cat blah.php
<?php
$a=sprintf('<s');
echo $a;
?>
wesley@ubuntu:~$ php blah.php
<s
wesley@ubuntu:~$
我的猜测是你在浏览器中运行它并将其解释为html标记的开头。
答案 3 :(得分:0)
如果您在渲染的HTML上查看源代码,您会看到它实际上存在。
你必须转义html字符“&lt;”否则你的浏览器会尝试渲染它。
$a=sprintf('<s');
echo $a;