php运算符

什么是运算符

        什么是运算符?运算符是告诉PHP做相关运算的标识符号。例如,你需要计算123乘以456等于多少,这时候就需要一个符号,告诉服务器,你需要做乘法运算。

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

<?php 
$a = 1;
$b = 1;
$c = $a+$b;
echo $c;
?>

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 />";
?>

PHP中的赋值运算符

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

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

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

<?php 
    $a = "我在慕课网学习PHP!";
	$b = $a;   //赋值结果不会改变
	$c = &$a;  //用&引用赋值,值会一起改变
	$a = "我天天在慕课网学习PHP!";
	
	echo $b."<br />";
	echo $c."<br />";
?>

PHP中的比较运算符

比较运算符主要是用于进行比较运算的,例如:等于、全等、不等、大于、小于。在PHP中常用的比较运算符如下表:

<?php  
    $a = 1;
	$b = "1";
	var_dump($a == $b); //==  等于
	echo "<br />";
	var_dump($a === $b);// ===  全等,类型也相同
	echo "<br />";
	var_dump($a != $b);// != 不等
	echo "<br />";
	var_dump($a <> $b);// <> 不等
	echo "<br />";
	var_dump($a !== $b); // !==   非全等 ,值或类型不相等
	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 <= $c);
	echo "<br />";
	var_dump($a >= $c);
	echo "<br />";
	var_dump($a >= $b);
	echo "<br />";
?>

PHP中的三元运算符

(“?:”)三元运算符也是一个比较运算符,对于表达式(expr1)?(expr2):(expr3),如果expr1的值为true,则此表达式的值为expr2,否则为expr3。

扫描二维码关注公众号,回复: 134339 查看本文章
<?php 
    $a = 78;//成绩
    $b = $a >= 60 ? "及格": "不及格";  
    //?:  三元运算符 ,对于表达式(expr1)?(expr2):(expr3),如果expr1的值为true,则此表达式的值为expr2,否则为expr3。	
    echo $b;
    echo "<br />";
?>

PHP中的逻辑运算符

逻辑运算符主用是进行逻辑运算的,例如:逻辑与、逻辑或、逻辑异或、逻辑非等,在PHP中常用的逻辑运算符如下表:(点击看大图)

我们可以从投票的角度来理解逻辑运算:

        1、逻辑与:要求所有人都投票同意,才会通过某协议;

        2、逻辑或:只要求一个人投票同意就行;

        3、逻辑异或:只能有且只能有一个人投票同意;

        4、逻辑非:某个人要反对,但是通过逻辑非,使其反对无效;

        “与”和“或”有两种不同形式运算符的原因是它们运算的优先级(就是运算的有限顺序,比如我们小学的时候学习四则运算,加减乘除混合在一起啦,优先计算乘除,再计算加减)不同。

<?php 
    $a = TRUE; //A同意
	$b = TRUE; //B同意
	$c = FALSE; //C反对
	$d = FALSE; //D反对
	//咱顺便复习下三元运算符
	echo ($a and $b)?"通过":"不通过"; //and与
	echo "<br />";
	echo ($a or $c)?"通过":"不通过";//or 或
	echo "<br />";
	echo ($a xor $c xor $d)?"通过":"不通过";//xor异或,有且仅有一个为true泽返回true
	echo "<br />";
	echo !$c ?"通过":"不通过";  //! 非
	echo "<br />";
	echo $a && $d ?"通过":"不通过";// && 与
	echo "<br />";
    echo $b || $c || $d ?"通过":"不通过";// || 或
    //加括号是因为优先级比三元低
    echo "<br />"
?>

PHP中的字符串连接运算符

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

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

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

<?php 
    $a = "张先生";
	$tip = $a.",欢迎您在慕课网学习PHP!"; // .  .=  连接运算符
	
    $b = "东边日出西边雨";	
    $b .= ",道是无晴却有晴";
    
	$c = "东边日出西边雨";	
    $c = $c.",道是无晴却有晴";
    
	echo  $tip."<br />";
	echo  $b."<br />";
	echo  $c."<br />";
?>

PHP中的错误控制运算符

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

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

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

<?php  
 $conn = @mysql_connect("localhost","username","password");
 echo "出错了,错误原因是:".$php_errormsg;
echo "<br />";
 /* @ 错误控制运算符,php如果激活了track_error(这个玩意在php.ini中设置)特性,
 表达式所产生的任何错误信息都被存放在变量$php_errormsg中,此变量在每次出错时都会被覆盖,
 所以如果想用它的话必须尽早检查。
 需要注意的是:错误控制前缀“@”不会屏蔽解析错误的信息,不能把它放在函数或类的定义之前,
 也不能用于条件结构例如if和foreach等。*/
?>

PHP中的算术运算符(2)

取模算术符有啥用呢?

假设我们要在一个考场安排了一场考试,对考生从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>个位置";
    //<b> </b>加粗,
?>



猜你喜欢

转载自blog.csdn.net/qq_20025577/article/details/80191710