php - 在计算操作之前在 php 中显示“文本”时出错
问题描述
我想在打印计算输出之前打印出文本,而不将文本存储在变量中。我怎样才能做到这一点?
这是我的代码:
$x = 5;
$y = 10.5;
echo "add: 5+6 =" . $x + $y;
解决方案
此代码计算加法 $x + $y,然后转换为字符串,然后连接到字符串“add: 5+6=”(参见https://www.php.net/manual/en/function.strval.php)
$x = 5;
$y = 10.5;
echo "add: 5+6 = ". strval($x + $y);
关于您的代码
请参阅https://www.php.net/manual/en/language.operators.precedence.php:连接运算符的优先级高于算术运算符。
您的原始代码与以下内容相同:
$x = 5;
$y = 10.5;
echo (int)("add: 5+6 =" . $x) + $y;
这意味着:首先,连接字符串 "add: 5+6 =" 。$x
add 5+6 =5
然后转换为 int (返回 0)
(int)("add: 5+6 =5")
然后添加 $y
0 + 10.5
然后回应它
echo 10.5;
所以这就是为什么你的代码返回 10.5
推荐阅读
- database - postgresql 将表中特定列内容的编码更改为十六进制
- xslt - XSL - 使所有具有命名空间的节点值在 CDATA 部分中可用
- php - PHPMailer 在寻找不在我的代码中的 PHPMailer\PHPMailer\Exception 时抛出错误?
- reactjs - 受保护的路由问题从 react-router-redux 切换到 connected-react-router
- php - Class CacheItemPoolInterface not Found Symfony
- reactjs - React map - 控制台日志有效..但不在 HTML 中返回值?
- python - pdflatex 在大量数字后挂起
- c# - FileSystemWacher 正在锁定一些文件
- jquery - Zendesk API 无效响应
- java - 如何重启 Kubernetes 服务的多个 Spring Boot 应用程序实例