两项不同:一项有单引号,一项没有
有单引号数字与无单引号数字相加:(20 + '123')=143有单引号数字与无单引号数字相连:(20 . '123')=20123
单引号中数字在前,字母在后型:
有单引号数字字母组合与无单引号数字相加:(20 + '22abc')=42(会加上引号内的数字)有单引号数字字母组合与无单引号数字相加:(20 . '22abc')=2022abc(字符串拼接处理)
单引号中字母在前,数字在后型:
有单引号数字字母组合与无单引号数字相加:(20 + 'abc22')=20(引号内容会被忽略)有单引号数字字母组合与无单引号数字相加:(20 . 'abc22')=20abc22(字符串拼接处理)
两项相同:都有单引号
有单引号数字与无单引号数字相加:('20' + '123')=143有单引号数字与无单引号数字相连:('20' . '123')=20123
单引号中数字在前,字母在后型:
有单引号数字字母组合与无单引号数字相加:('20' + '22abc')=42(会加上引号内的数字)
有单引号数字字母组合与无单引号数字相加:('22abc' + '20')=42(会加上引号内的数字
单引号中字母在前,数字在后型:
有单引号数字字母组合与无单引号数字相加:('20' + 'abc22')=20(引号内容会被忽略)有单引号数字字母组合与无单引号数字相加:('20' . 'abc22')=20abc22(字符串拼接处理)
有单引号数字字母组合与无单引号数字相加:('abc22' + '20')=20(含字母和引号的变量内容会被忽略)
总结:两个变量做‘+’或‘.’操作:
‘+’操作:如果两个变量都为数字,直接做加运算!
如果$a为数字,$b是数字加字母的情况:
当$b中的数字在前,则$a加上$b中的数字部分,字母忽略,结果输出$a,$b中数字的和;
当$b中的数字在后,则$b会被全部忽略;结果只输出$a的值;
‘.’操作:无论哪种情况,都作为字符串连接处理,输出值为$a,$b的拼接结果
ps:当操作数参与运算时,会转化为统一的类型进行运算。
字符串与数字运算时,字符会自动(尽量)转化为数字。
如: 20+'2.55ab' -->22.55
20+'0x20ab'; -->52 //0x代表后面数字是十六进制