PHP - 为啥回声打印它像零? [复制]

Posted

技术标签:

【中文标题】PHP - 为啥回声打印它像零? [复制]【英文标题】:PHP - Why is echo printing it like zeros? [duplicate]PHP - 为什么回声打印它像零? [复制] 【发布时间】:2020-08-10 09:38:39 【问题描述】:

一个非常简单的php代码

<?php

$aaa    = $_GET["aaa"];
echo $aaa + "\n";

$bbb    = $_GET["bbb"];
echo $bbb+ "\n";

$ccc    = $_GET["ccc"];
echo $ccc+ "\n";

调用它的 URL

http://example.com?aaa=AAA&bbb=BBB&ccc=CCC

结果完全空白。什么都没有打印出来。

如果我将回声更改为

echo (string) ($aaa + "\n");
echo (string) ($bbb + "\n");
echo (string) ($ccc + "\n");

那么结果就是

000

为什么?

【问题讨论】:

因为您正在添加,而不是连接这些值。 . 是 PHP 中的连接运算符。由于这个原因,PHP 正在使用类型杂耍,你的字符串变成了它们的整数等价物,它是零,因此零加零等于零,这就是你在输出中看到的。 对此感到抱歉。我同时在用javascript编程...... 【参考方案1】:

例如,与 JS 或 Python 不同,其中字符串连接符号是“+”,在 PHP 中是“.”,在 PHP 中是“+”,用于数字求和。试试这个:

<?php

$aaa = $_GET["aaa"];
echo $aaa . "\n";

$bbb = $_GET["bbb"];
echo $bbb . "\n";

$ccc = $_GET["ccc"];
echo $ccc . "\n";

【讨论】:

以上是关于PHP - 为啥回声打印它像零? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

来自 php 的回声“按原样”

如何水平打印字符? [复制]

批处理 - 打印回声已关闭

素数打印机停止在 251,为啥? [复制]

为啥 Banana 在 JavaScript 中打印? [复制]

为啥在输出中打印“无”? [复制]