当数字与字符串遇上‘+’和‘.’该如何处理

来源:互联网 发布:linux系统大全 编辑:程序博客网 时间:2024/06/05 20:32

两项不同:一项有单引号,一项没有

有单引号数字与无单引号数字相加:(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' . '22abc')=2022abc(字符串拼接处理)

单引号中字母在前,数字在后型:

有单引号数字字母组合与无单引号数字相加:('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代表后面数字是十六进制

1 0
原创粉丝点击