如何修复 PHP sprintf 行为?
上下文
- PHP
- XAMPP
为什么不打印任何内容?
$a=sprintf('<s');
echo $a;
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
上下文
为什么不打印任何内容?
$a=sprintf('<s');
echo $a;
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(4)
你输出到浏览器吗?
可以被解释为标签的开头(恰好是不完整/未闭合的),因此被隐藏。如果是这种情况,请检查页面的来源。调试脚本输出时,永远不要相信主浏览器窗口,因为它会故意向您隐藏一些内容。
Are you outputting into a browser? The
<a
could be interpreted as the start of a tag (which happens to be incomplete/unclosed) and therefore hidden. If this is the case, check the page's source. Never trust the main browser window when debugging script output, as it'll hide things from you by design.它在我的 Linux 机器上运行良好。
您可能会被缓冲所困扰。尝试在打印输出中添加换行符,或使用
var_dump()
。It works fine on my Linux machine.
You might be getting bitten by buffering. Try adding a newline to your printout, or use
var_dump()
.它确实打印
我的猜测是您在浏览器中运行它并将其解释为 html 标记的开头。
It does print <s
My guess is that your running this in a browser and that interprets it as the start of a html tag.
如果您查看渲染的 html 上的源代码,您会发现它实际上就在那里。
你必须转义 html 字符“<”否则您的浏览器将尝试渲染它。
参考
If you view source on your rendered html you will see that it is in fact there.
you have to escape the html character "<" otherwise your browser will try to render it.
Reference