.字符串运算符不是运算符吗?以及$a*$b=$a+$b的运算顺序?

.字符串运算符不是运算符吗?以及$a*$b=$a+$b的运算顺序?

http://img1.sycdn.imooc.com//climg/5b23517d0001a4d810440786.jpg

看表格的话,字符串运算符是运算符的一种啊,而且参与优先级排序。

第二个问题:

<?php
$a=2;
$b=3;
echo $a*$b=$a+$b;

结果输出10;

*的优先级大于=,这里为什么先计算$b=$a+$b呢?或者和运算符的结合方向有关系吗?

按道理应该报错,或者需要写成:echo $a*($b=$a+$b)


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
提问者 T时间的朋友 2018-06-15 20:53:59

还有没有能讲明白的讲师来解释一下上面的问题

  • 你好,这里跟结合方向有关系,如果赋值符号左边直接是一个数字的话,比如5=$a+$b,将右边的和赋值给5,这就会报错,当左边是$a*$b,程序根据赋值符号的方向,将右边的和赋值给$b,再跟$a相乘得到10。
    2018-06-17 15:46:32
guly 2018-06-15 14:14:21

你好,“=”:把右边表达式的值赋给左边的运算数。它将右边表达式值复制一份,交给左边的运算数。换而言之,首先给左边的运算数申请了一块内存,然后把复制的值放到这个内存中。也就是先计算等号右边的表达式,祝学习愉快!

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师