PHP基础入门(三)
运算符
运算符是告诉PHP做相关运算的标识符号。
PHP运算符一般分为算术运算符、赋值运算符、比较运算符、三元运算符、逻辑运算符、字符串连接运算符、错误控制运算符。
//加(+)
<?php
$a = 1;
$b = 1;
$c=$a+$b;
echo $c;
?>
算术运算符(1)
算术运算符主要是用于进行算术运算的,例如:加法运算、减法运算、乘法运算、除法运算。在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 />";
输出为:
算术运算符(2)
取模算术符有啥用呢?
假设我们要在一个考场安排了一场考试,对考生从1开始,都进行了编号,那么怎么让服务器帮助我们计算考生在的位置呢,进而打印考场的考生对照表呢?在右边编辑器里输入两条指令,如图所示:
<?php
$maxLine = 4; //每排人数
$no = 17;//学生编号
$line = ceil($no/$maxLine); //ceil()是向上取整,大于等于该数的最小整数
$row=$no%$maxLine?$no%$maxLine:$maxLine;
echo "编号<b>".$no."</b>的座位在第<b>".$line."</b>排第<b>".$row."</b>个位置";
?>
输出为:
赋值运算符
PHP的赋值运算符有两种,分别是:
(1)“=”:把右边表达式的值赋给左边的运算数。它将右边表达式值复制一份,交给左边的运算数。换而言之,首先给左边的运算数申请了一块内存,然后把复制的值放到这个内存中。
(2)“&”:引用赋值,意味着两个变量都指向同一个数据。它将使两个变量共享一块内存,如果这个内存存储的数据变了,那么两个变量的值都会发生变化。
<?php
$a = "我在学习PHP!";
$b=$a;
$c=&$a;
$a = "我天天在学习PHP!";
echo $b."<br />";
echo $c."<br />";
?>
<?php
$a = "我在慕课网学习PHP!";
$b=$a;
$a = "我天天在慕课网学习PHP!";
$c=&$a;
echo $b."<br />";
echo $c."<br />";
?>
注意顺序:用$ b=$ a 时,要先给a赋值过再用;
用$ c=& $ a时,先后均可。
输出为:
比较运算符
比较运算符主要是用于进行比较运算的,例如:等于、全等、不等、大于、小于。在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 />";
var_dump($a>$b);
$c = 5;
echo "<br />";
var_dump($a<$c);
echo "<br />";
var_dump($a>$c);
echo "<br />";
var_dump($a>=$c);
echo "<br />";
var_dump($a<=$c);
echo "<br />";
?>
输出为:
三元运算符
(“?:”)三元运算符也是一个比较运算符,对于表达式(expr1)?(expr2):(expr3),如果expr1的值为true,则此表达式的值为expr2,否则为expr3。
<?php
$a = 78;//成绩
$b=$a>=60?"及格":"不及格";
echo $b;
?>
逻辑运算符
逻辑运算符主用是进行逻辑运算的,例如:逻辑与、逻辑或、逻辑异或、逻辑非等,在PHP中常用的逻辑运算符如下表:
我们可以从投票的角度来理解逻辑运算:
1、逻辑与:要求所有人都投票同意,才会通过某协议;
2、逻辑或:只要求一个人投票同意就行;
3、逻辑异或:只能有且只能有一个人投票同意;
4、逻辑非:某个人要反对,但是通过逻辑非,使其反对无效;
“与”和“或”有两种不同形式运算符的原因是它们运算的优先级(就是运算的有限顺序)不同。
<?php
$a = TRUE; //A同意
$b = TRUE; //B同意
$c = FALSE; //C反对
$d = FALSE; //D反对
//咱顺便复习下三元运算符
echo ($a and $b)?"通过":"不通过";
echo "<br />";
echo($a or $c)?"通过":"不通过";
echo "<br />";
echo($a xor $c xor $d)?"通过":"不通过";
echo "<br />";
echo !$c?"通过":"不通过";
echo "<br />";
echo $a && $d?"通过":"不通过";
echo "<br />";
echo $b||$c||$d?"通过":"通过";
?>
(and 、 or 、xor)这三个逻辑运算符的优先级没有三元运算符高。因此要加括号;
其余的可加可不加。
输出为:
字符串连接运算符
字符串连接运算符是为了将两个字符串进行连接,PHP中提供的字符串连接运算符有:
(1)连接运算符(“.”):它返回将右参数附加到左参数后面所得的字符串。
(2)连接赋值运算符(“.=”):它将右边参数附加到左边的参数后。连接赋值运算符在连接字符串的基础上,还有赋值功能。
<?php
$a = "张先生";
$tip=$a.",欢迎您";//连接运算符
$b = "东边日出西边雨";
$b.=",道是无晴却有晴";//连接赋值运算符
$c = "东边日出西边雨";
$c=$c.",道是无晴却有晴";//连接运算符
echo $tip."<br />";
echo $b."<br />";
echo $c."<br />";
?>
输出为:
错误控制运算符
PHP中提供了一个错误控制运算符“@”,对于一些可能会在运行过程中出错的表达式时,我们不希望出错的时候给客户显示错误信息,这样对用户不友好。于是,可以将@放置在一个PHP表达式之前,该表达式可能产生的任何错误信息都被忽略掉;
如果激活了track_error(这个玩意在php.ini中设置)特性,表达式所产生的任何错误信息都被存放在变量$php_errormsg中,此变量在每次出错时都会被覆盖,所以如果想用它的话必须尽早检查。
需要注意的是:错误控制前缀“@”不会屏蔽解析错误的信息,不能把它放在函数或类的定义之前,也不能用于条件结构例如if和foreach等。
<?php
$conn=@mysql_connect("localhost","username","password");
echo "出错了,错误原因是:".$php_errormsg;
?>
输出为:
PHP基础入门(一)(基础知识输出、字符串、定义变量、变量类型
https://editor.csdn.net/md/?articleId=104849847
PHP基础入门(二)(常量)
https://editor.csdn.net/md/?articleId=104874008
PHP基础入门(四)(语言结构语句)
https://editor.csdn.net/md/?articleId=104878034