一、算术运算符
PHP程序如何进行加减乘除,取模
依次是 + - * / %
如果是在C语言中, $b,$a都是整型,因此计算出来的$c 也是整型.
在PHP中,变量的值可以随意改变,而且变量的类型,也可以改变.
比如 变量$c是整型,可以突然为之赋一个浮点型值.
因此PHP称为动态语言
判断一个数,是偶数,还是奇数?
可以对2取模,余数是1,则为奇数,如果余数为0,则是偶数
注意: 在取模运算时,
运算的正负结果, 取决于被除数的符号.
结果的符号,和被除数的符号一致.
二、比较运算符
> 大于
< 小于
>= 大于等于
<= 小于等于
== 等于
!= 不等于
=== 全等于,(不仅值相等,连变量类型也相等)
!== 不全等于
在不同的类型比较时,
PHP程序本身
会把变量转换成一致的类型,然后再去比较.
着重记以下几个转换
1: 布尔值 --> 字符串
2: 字符串 --> 数字的转换
3: 字符串 --> 布尔的转换
4: 数字 ---> 布尔的转换
5: 数字 ---> 字符串转换.
以5 == true比较为例
是把 整型5 ,转成布尔型.
其实有的语言中,根本就没有布尔型,都是拿 1, 0 充当 true/false用.
0, 0.0, 这两个值,转换成布尔是 false,
其他 都是true, 包括负数,也是true
1: 布尔值 --> 字符串
true --> '1'
false ---> '';
2: 字符串 --> 数字的转换
从字符串左端开始找数字,直到第一个非数字结束,取出来的这一部分,即是转换后的值.
'3q' ===> 3
'123abc456' ===> 123
'fdsafdsaf789' === > 0
3: 字符串 --> 布尔的转换
''字符串,'0',这种转换成 false,
其他一概是true
4:数字转布尔
只有整型的0,和浮点0.0, 转成false
其他,甚至负数,也转成ture
**/
/**
5:数字到字符串的转换
直接是字面本身
三、字符串运算符
在PHP中,字符串,有一种运算 ,就是拼接. 运算符是 "."
$str1 = 'hello';
$str2 = ' ';
$str3 = 'world';
$str = $str1 . $str2 .$str3;
echo $str,'<br />'; // hello world;
新手的疑问,甚至工作半年的也疑问.怎么可以用','
echo $str1,$str2,$str3,'<br />'; // hello world
echo $str1 . $str2 . $str3 . '<br />'; // hello world
这一行,是$str1,$str2,$str3在内存中,拼接运算,
运算出一个'hello world'一个大字符串,
然后echo 之,得到判断的结果
echo $str1 . $str2 . $str3 . '<br />'; // hello world
echo $str1,$str2,$str3,'<br />'; // hello world
echo 是一个语句,负责输出用的,
可以通过','分割,一次输出多个变量或值来.
综上:
用 ' . '是先拼接,再整个输出.
用 ' , '是挨个儿把3个变量输出.
面试时,会碰到这个问法:
上面两种情况,用','和用'.' 哪个输出的快,效率高?
答:逗号快,因为省去了一次拼接计算的过程.
四、赋值运算符
赋值运算符, 就是 =
作用是,把' = '右边的值,赋给左边的变量
既然是运算,运算完之外必须得有一个结果---结果值
比较运算符
注意:比较运算符返回结果,只有2个可能 ture/ false
字符串运算符
$a . $b
返回结果: , 拼接后的字符串
赋值运算符的运算结果,就是 = 右边的值
两个难点;
1:比较运算时,有一个类型转换的问题.
2:凡运算,必有返回值.
比较运算返回布尔值,
赋值运算,返回赋的值本身.
浙公网安备 33010602011771号