奇怪的回声,PHP中的打印行为?
发布时间:2020-12-13 22:13:54 所属栏目:PHP教程 来源:网络整理
导读:以下代码输出43211,为什么? echo print('3').'2'.print('4'); 解决方法 您的陈述如下解析人类. 回显由以下内容组成的串联字符串: 函数print(‘3’)的结果,它将返回true,并将其字符串化为1 字符串’2′ 函数print(‘4’)的结果,并将其字符串化为1 现在,这里
以下代码输出43211,为什么?
echo print('3').'2'.print('4'); 解决方法
您的陈述如下解析人类.
回显由以下内容组成的串联字符串: >函数print(‘3’)的结果,它将返回true,并将其字符串化为1 现在,这里的操作顺序真的很有趣,根本不能以43211结束!让我们尝试一个变体来弄清楚出了什么问题. echo '1' . print('2') . '3' . print('4') . '5'; 这产生4523111 PHP正在解析它,因为: echo '1' . (print('2' . '3')) . (print('4' . '5')); 答对了!首先评估左侧的打印,打印’45’,这样就离开了我们 echo '1' . (print('2' . '3')) . '1'; 然后评估左侧打印,所以我们现在打印’4523′,留下我们 echo '1' . '1' . '1'; 成功. 4523111. 让我们打破你对古怪的陈述. echo print('3') . '2' . print('4'); 这将首先打印’4′,留下我们 echo print('3' . '2' . '1'); 然后评估下一个打印语句,这意味着我们现在打印’4321′,留下我们 echo '1'; 因此,43211. 我强烈建议不要回复打印结果,也不要打印回声的结果.这样做是非常荒谬的. 经过进一步审查,我实际上并不完全确定PHP如何解析这些废话.我不会再考虑它了,它伤害了我的大脑. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |