第5章 PHP中常用的运算符

什么是运算符

PHP中的运算符有哪些?
PHP运算符一般分为算术运算符赋值运算符比较运算符三元运算符
逻辑运算符字符串连接运算符错误控制运算符

PHP中的算术运算符

加、-减、×乘、÷除、%取模(求余)

<?php 
    $english = 110; //英语成绩
    $math= 118; //数学成绩
    $biological = 80; //生物成绩
    $physical = 90; //物理成绩
    $sum=$english+$math+$biological+$physical;//加
    $avg=$sum/4;//除
    $x=$math-$english;//减
    $x2=$english*$english;//乘
    echo "总分:".$sum."<br />";
    echo "平均分:".$avg."<br />";
    echo "数学比英语高的分数:".$x."<br />";
    echo "英语成绩的平方:".$x2."<br />";
?>
//假设我们要在一个考场安排了一场考试,对考生从1开始,都进行了编号
<?php 
    $maxLine = 4; //每排人数
    $no = 17;//学生编号
    $line=ceil($no/$maxLine);
    $row = $no%$maxLine?$no%$maxLine:$maxLine;
    echo "编号<b>".$no."</b>的座位在第<b>".$line."</b>排第<b>".$row."</b>个位置";
?>

PHP中的赋值运算符

PHP的赋值运算符有两种,分别是:

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

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

<?php 
    $a = "我在慕课网学习PHP!";
    $b=$a;
    $c=&$a;
    $a = "我天天在慕课网学习PHP!";
    echo "a:".$a."<br />";
    echo "b:".$b."<br />";
    echo "c:".$c."<br />";
    echo 'lets change $a="change"<br/>';
    $a = "change";
    echo "c:".$c."<br/>";
    echo "a:".$a."<br/>";
?>
a:我天天在慕课网学习PHP!
b:我在慕课网学习PHP!
c:我天天在慕课网学习PHP!
lets change $a="change"
c:change//同时改变了
a:change

PHP中的比较运算符

<?php  
    $a = 1;
    $b = "1";
    var_dump($a==$b);//true,强制对类型进行转化
    echo "<br />";
    var_dump($a===$b);//false,不会对类型转化
    echo "<br />";
    var_dump($a!=$b);//false,强制会对类型进行转化
    echo "<br />";
    var_dump($a<>$b);//false,与“!=”一样。强制会对类型进行转化
    echo "<br />";
    var_dump($a!==$b);//true,不会对类型转化
    echo "<br />";
    var_dump($a<$b);
    echo "<br />";

    $c = 5;
    var_dump($a<$c);
    echo "<br />";
    var_dump($a>$c);
    echo "<br />";
    var_dump($a<=$b);
    cho "<br />";
    var_dump($a>=$c);
    echo "<br />";
    var_dump($a>$b);
    echo "<br />";
?>

#PHP中的三元运算符
表达式`(expr1)?(expr2):(expr3)`,如果expr1的值为true,则此表达式的值为expr2,否则为expr3。

<?php
$a = 78;//成绩
$b=$a>60?"ok":"no";
echo $b;
?>

#PHP中的逻辑运算符
逻辑运算符主用是进行逻辑运算的,例如:`逻辑与`、`逻辑或`、`逻辑异或`、`逻辑非`
1. 逻辑与`and`或`&`:**全部**为真返回`true`;
2. 逻辑或`or`或`||`:**大于等于一个**为真返回`true`;
3. 逻辑异或`xor`:**有且只能有一个为真**返回`true`;
4. 逻辑非`!`:改变原本真假值;
>“与”和“或”有两种不同形式运算符的原因是它们运算的优先级

#PHP中的字符串连接运算符
为了将两个字符串进行连接,PHP中字符串连接运算符有:

 - `.`:它返回将右参数附加到左参数后面所得的字符串。

 - `.=`:它将右边参数附加到左边的参数后。**(左边的字符串被修改了)**

<?php
$b = "东边日出西边雨";
$b .= ",道是无晴却有晴";
echo $b."<br />";//东边日出西边雨,道是无晴却有晴
?>

#PHP中的错误控制运算符
PHP中提供了一个错误控制运算符`@`,对于一些可能会在运行过程中出错的表达式时,我们不希望出错的时候给客户显示错误信息,这样对用户不友好。于是,可以将@放置在一个PHP表达式之前,该表达式可能产生的任何错误信息都被忽略掉;

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

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

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

出错了,错误原因是:mysql_connect(): No such file or directory

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容