gpt4 book ai didi

php - 不带括号的字符串连接中的算术运算会导致奇怪的结果

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:03:47 24 4
gpt4 key购买 nike

考虑以下代码行:

<?php
$x = 10;
$y = 7;

echo '10 - 7 = '.$x-$y;
?>

那个的输出是3,也就是计算$x-$y的预期结果。然而,预期的输出是:

10 - 7 = 3

因此,我的问题是,我与计算连接的字符串发生了什么?我知道为了产生我期望的结果,我需要将算术运算括在括号中:

<?php
$x = 10;
$y = 7;

echo '10 - 7 = '.($x-$y);
?>

输出

10 - 7 = 3

但由于 PHP 不会提示原始代码,我想知道在这种情况下生成的输出背后的逻辑是什么?弦去哪儿了?如果有人能解释它或指出 PHP 手册中解释它的位置,我将不胜感激。

最佳答案

您的字符串 '10 - 7 = ' 正在与 $x 连接。然后它被解释为 int,结果为 10,然后减去 7,结果为 3

更多解释,试试这个:

echo (int) ('10 - 7 = ' . 10); // Prints "10"

有关字符串到数字转换的更多信息,请访问 http://www.php.net/manual/en/language.types.string.php#language.types.string.conversion

If the string starts with valid numeric data, this will be the value used

关于php - 不带括号的字符串连接中的算术运算会导致奇怪的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7574624/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com