考虑以下代码行:
<?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);
?>
outputs
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
如果字符串以有效的数字数据开头,则这将是使用的值
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)