起步 - 运算符 ¶
作者:KK
发表日期:2016.3.14
快速阅读 ¶
PHP的运算符绝大部分和JS的一样,如果你会JS,那么你只要知道,字符串拼接运算不是用+
号而是用.
号,调用对象的属性和方法不是用.
号而是用->
这个符号就可以编写大部分PHP代码了
详细教程 ¶
数学运算符 ¶
和JS一样
echo 1 + 1; //加法 echo 1 - 1; //减法 echo 3 * 2; //乘法 echo 18 / 6; //除法 echo 20 % 6; //求余数,20除以6得3,余数是2,结果是2 echo 1 + 1 * 2 + 3 - 1 / 2; //多运算,根据常规数学一样先执行乘法和除法运算,再从左到右执行加减法 echo (1 + 1) * 2 + (3 - 1) / 2; //用括号提升某两个数的运算优先级别 $a = 1; echo $a += 1; //2 ,相当于 $a = $a + 1 $b = 2; echo $b -= 1; //1 ,相当于 $b = $b - 1 $c = 3; echo $c *= 2; //6 ,相当于 $c = $c * 2 $d = 4; echo $d /= 2; //2 ,相当于 $d = $d / 2; //自增运算 $e = 5; $e++; echo $e; //6 $e++; echo $e; //7 //自减运算 $f = 8; $f--; echo $f; //7
字符串拼接运算 ¶
用
.
号来执行字符串拼接运算echo 'a' . 'bc'; //abc echo 'a' . '222'; //a222 echo 'a' . 222; //a222,后面的数字222会被转换成字符串来运算 echo 'a' + 222; //222,前面的字符串a被转换成数字再运算,不是一个合法的数字,于是转换成数字后当作没有任何数值,结果就是0 + 222
所以如果想将两个字符串拼起来,记录用
.
号哦!比较运算 ¶
和JS一样,只是不等于运算除了可以用
!=
以外,还能用<>
来表示var_dump(2 == 2); //true 等于比较 var_dump(2 == '2'); //true 等于比较 var_dump(2 === '2'); //false 严格比较嘛,一个是数字2,一个是字符串2,你说呢? var_dump('aabb' == 'abc'); //false var_dump('aabb' === 'abc'); //false 字符串严格比较和模糊比较是一样的效果 var_dump(1 > 2); //false 大于 var_dump(4 > 2); //true var_dump(2 >= 2); //true 大于等于 var_dump(1 >= 2); //false var_dump(1 < 2); //true 小于 var_dump(3 < 2); //fase var_dump(3 <= 2); //false 小于等于 var_dump(2 <= 2); //true var_dump(2 != 2); //false 不等于 var_dump(2 <> 2); //false var_dump(2 <> '2'); //false var_dump(2 !== '2'); //true 严格的不等于 比较,两个比较的值类型不同 var_dump(2 != 22); //true var_dump(2 <> 22); //true
逻辑运算 ¶
有两种写法,一种写法和JS一样
var_dump(true && true); //true 逻辑与,两个都必须为true var_dump(true && false); //false 有一个值不为true var_dump(true || false); //true 逻辑或,其中一个为true就行 var_dump(false || false); //false 没有一个为true var_dump(!true); //false 逻辑非 var_dump(!false); //true
另一种写法是用英文单词来表示,分别是
and
(逻辑与),or
(逻辑或)var_dump(true && true); //true var_dump(true and true); //true and运算符和 && 效果是一样的,只是写法不一样 var_dump(false and true); //false var_dump(true || false); //true var_dump(true or false); //true 写法不一样,效果一样 var_dump(false or false); //false
后面这种英文写法会比较少人用,个人认为是大部分编程语言都是用 && 和 || 这些符号式的,大家互相阅读代码比较习惯吧,还有输入习惯