gpt4 book ai didi

php - 将 echo 和 print 组合在一个语句中

转载 作者:可可西里 更新时间:2023-10-31 23:57:26 25 4
gpt4 key购买 nike

回显“1”。 (print '2') + 3; 返回 214。脚本如何以 *14 结尾?

最佳答案

当你这样做的时候

echo "1" . (print '2') + 3;

PHP 会做 ( demo )

line     # *  op                           fetch          ext  return  operands
---------------------------------------------------------------------------------
2 0 > PRINT ~0 '2'
1 CONCAT ~1 '1', ~0
2 ADD ~2 ~1, 3
3 ECHO ~2
4 > RETURN 1

言外之意:

  • 打印2,返回1
  • 将“1”与返回的 1 连接起来 => “11”
  • 添加“11”+ 3 => 14
  • echo 14

那是 214。

运算符 + - . 等于 Operator Precedence , 但左结合:

For operators of equal precedence, left associativity means that evaluation proceeds from left to right, and right associativity means the opposite.


编辑:因为所有其他答案都声称 PHP 做 1+3,这里进一步证明它不做:

echo "1" . (print '2') + 9;

给出 220,例如11+9 而不是 1 。 (1+9)。如果加法优先于串联,则应该是 2110,但为此你必须写成

echo "1" . ((print '2') + 9);

关于php - 将 echo 和 print 组合在一个语句中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9213885/

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