两分钟带你了解PHP中的运算符

(1)算术运算符

两分钟带你了解PHP中的运算符

  1. <?php
  2. $maxLine = 4; //每排人数
  3. $no = 17;//学生编号
  4. $line = ceil($no/$maxLine); // 向上取整
  5. $row = $no%$maxLine ? $no%$maxLine : $maxLine;
  6. echo "编号<b>".$no."</b>的座位在第<b>".$line."</b>排第<b>".$row."</b>个位置";?>

(2)赋值运算符

“=”:把右边表达式的值赋给左边的运算数。它将右边表达式值复制一份,交给左边的运算数。换而言之,首先给左边的运算数申请了一块内存,然后把复制的值放到这个内存中

“&”:引用赋值,意味着两个变量都指向同一个数据。它将使两个变量共享一块内存,如果这个内存存储的数据变了,那么两个变量的值都会发生变化

  1. <?php
  2. $a = "我在慕课网学习PHP!";
  3. $b = $a; $c = &$a;
  4. $a = "我天天在慕课网学习PHP!";
  5. echo $b."<br />";
  6. // 我在慕课网学习PHP!
  7. echo $c."<br />";
  8. // 我天天在慕课网学习PHP!
  9. ?>

(3)比较运算符

两分钟带你了解PHP中的运算符

  1. <?php
  2. $a = 1; $b = "1";
  3. var_dump($a == $b); // true
  4. var_dump($a === $b); // false
  5. var_dump($a != $b); //false
  6. var_dump($a <> $b); // false
  7. var_dump($a !== $b); // true
  8. var_dump($a < $b); //false
  9. $c = 5;
  10. var_dump($a < $c); //true
  11. var_dump($a > $c); // false
  12. var_dump($a <= $c); // true
  13. var_dump($a >= $c); // false
  14. var_dump($a >= $b); // true?>

(4)三元运算符

(“?:”)三元运算符也是一个比较运算符

表达式(expr1)?(expr2):(expr3),如果expr1的值为true,则此表达式的值为expr2,否则为expr3。

  1. <?php
  2. $a = 78;//成绩
  3. $b = $a >= 60 ? "及格": "不及格";
  4. echo $b;?>

(5)逻辑运算符

两分钟带你了解PHP中的运算符

(6)字符串链接符

连接运算符(“.”):它返回将右参数附加到左参数后面所得的字符串

连接赋值运算符(“.=”):它将右边参数附加到左边的参数后

  1. <?php
  2. $a = "张先生"; $tip = $a.",欢迎您在慕课网学习PHP!";
  3. $b = "东边日出西边雨";
  4. $b .= ",道是无晴却有晴";
  5. $c = "东边日出西边雨";
  6. $c = $c.",道是无晴却有晴";
  7. echo $tip."<br />";
  8. echo $b."<br />";
  9. echo $c."<br />";
  10. ?>

(7)错误控制运算符

PHP中提供了一个错误控制运算符“@”,对于一些可能会在运行过程中出错的表达式时,我们不希望出错的时候给客户显示错误信息,这样对用户不友好

可以将@放置在一个PHP表达式之前,该表达式可能产生的任何错误信息都被忽略掉

如果激活了track_error(这个玩意在php.ini中设置)特性,表达式所产生的任何错误信息都被存放在变量$php_errormsg中,此变量在每次出错时都会被覆盖,所以如果想用它的话必须尽早检查

需要注意的是:错误控制前缀“@”不会屏蔽解析错误的信息,不能把它放在函数或类的定义之前,也不能用于条件结构例如if和foreach等

  1. <?php
  2. $conn = @mysql_connect("localhost","username","password");
  3. echo "出错了,错误原因是:".$php_errormsg;
  4. ?>