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

运行结果
在这里插入图片描述

  • 赋值运算符

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

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

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

举个代码栗

<?php 
    $a = "我在慕课网学习PHP!";
	$b=$a;
	$c=&$a; //引用两个变量共享一块内存
	$a = "我天天在慕课网学习PHP!";
	
	echo $b."<br />";
	echo $c."<br />";
?>

运行结果
在这里插入图片描述

  • 比较运算符

  • 比较运算符主要是用于进行比较运算的,例如:等于、全等、不等、大于、小于。在PHP中常用的比较运算符如下表:
    在这里插入图片描述
    举个栗子
<?php  
    $a = 1;
	$b = "1";
	var_dump($a==$b);//bool(true)
	echo "<br />";
	var_dump($a===$b);//bool(false)
	echo "<br />";
	var_dump($a!=$b);//bool(false)
	echo "<br />";
	var_dump($a!==$b);//bool(true)
	echo "<br />";
	var_dump($a<>$b);//bool(false) 不相等,才true
	echo "<br />";
	var_dump($a<$b);//bool(false)
	echo "<br />";
	var_dump($a>$b);//bool(false)
	echo "<br />";
	var_dump($a>=$b);//bool(true)
    echo "<br />";
    
	$c = 5;
	var_dump($a<$c);//bool(true)
	echo "<br />";
	var_dump($a>$c);//bool(false)
	echo "<br />";
	var_dump($a<=$c);//bool(true)
	echo "<br />";
	var_dump($a>=$c);//bool(false)
	echo "<br />";
?>
  • 三元运算符

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

举个栗子

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

运行结果
在这里插入图片描述

  • 逻辑运算符

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

  • 逻辑异或类似于C语言中的位移或:

    1xor1=0 1xor0=1 0xor0=0
    1^1=0 1^0=1 0^0=0

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

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

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

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

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

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

  • 我们假设有A、B、C、D进行了投票,然后我们用逻辑运算符,来判定他们的投票是否能通过某些协议。

举个栗子

<?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 $d xor $c)?"通过":"不通过";//通过
	echo "<br />";
	echo (!$c)?"通过":"不通过";//通过
	echo "<br />";
	echo ($a && $d)?"通过":"不通过";//不通过
	echo "<br />";
	echo ($c || $b||$d )?"通过":"不通过";//通过
	echo "<br />";
	echo "----------------------";
	//    不加括号
	echo "<br />";
	echo $a and $b?"通过":"不通过";//1
	echo "<br />";
	echo $a or $c ?"通过":"不通过";//1
	echo "<br />";
	echo $a xor $d xor $c?"通过":"不通过";//无结果
	echo "<br />";
	echo !$c?"通过":"不通过";//通过
	echo "<br />";
	echo $a&&$d?"通过":"不通过";//不通过
	echo "<br />";
	echo $c||$b||$d ?"通过":"不通过";//通过
?>

运行结果
在这里插入图片描述

  • 字符串连接运算符

  • 字符串连接运算符是为了将两个字符串进行连接,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;
?>

运行结果
在这里插入图片描述
在这里插入图片描述

关于mysql_connect()

$conn = @mysql_connect(“localhost”,“username”,“password”);
MySQL连接 — 打开一个到mysql服务器的连接
详情参考:https://www.php.net/manual/zh/function.mysql-connect.php

  • 警告
    本扩展自PHP5.5.0起已废弃,并在自PHP7.0.0开始被移除。应使用MySQLi 或 PDO_MySQL扩展来替换之.参见Mysql:选择API指南以及相关常见问题来获取更多信息.用以替代本函数的有:
    mysqli_CONNECT()
    PDO:_struction()

说明

MySQL连接 ([ 弦 $server [, 弦 $username [, 弦 $password [, 布尔 $new_link [, INT $client_flags ]]]]] ) : 资源
  • 打开或重复使用一个到mysql服务器的连接.

参数

  • server

mysql服务器.可以包括端口号,例如“主机名:端口”,或者到本地套接字的路径,例如对于localhost的:/path/to/Socket“。

如果指令默认主机未定义(默认情况),则默认值是‘localhost:3306’。在sql安全模式时,参数被忽略,总是使用‘localhost:3306’。

  • username

用户名.默认值由默认用户定义.在sql安全模式时,参数被忽略,总是使用服务器进程所有者的用户名.

  • password

密码.默认值由默认密码定义.在sql安全模式时,参数被忽略,总是使用空密码.

  • new_link

如果用同样的参数第二次调用MySQL_CONNECT()、将不会建立新连接,而将返回已经打开的连接标识.参数new_link改变此行为并使MySQL_CONNECT()总是打开新的连接,甚至当MySQL_CONNECT()曾在前面被用同样的参数调用过.

  • client_flags

client_flags参数可以是以下常量的组合:MYSQL_CLIENT_SSL,MYSQL_CLIENT_COMPRESS,MYSQL_CLIENT_IGNORE_SPACE
或 MYSQL_CLIENT_INTERACTIVE…进一步信息见mysql客户端常量。

返回值
如果成功则返回一个mysql连接标识,或者在失败时返回FALSE。

  • 运算函数补充

赛尔ceil()函数
(PHP 4,PHP 5,PHP 7)

赛尔ceil()函数 :进一法取整

说明

赛尔 ( 浮子 $value ) : 浮子

返回不小于value的下一个整数,value如果有小数部分则进一位.

参数

  • value
    要进一法取整的值

返回值

  • 返回不小于value的下一个整数.赛尔()返回的类型仍然是浮子、因为浮子值的范围通常比整型要大.

举个栗子

<?php
echo ceil(4.3);    // 5
echo ceil(9.999);  // 10
echo ceil(-3.14);  // -3
?>

扩充函数

  • floor()函数:舍去法取整
  • 返回不大于 value 的最接近的整数,将 value 的小数部分舍去取整。floor() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大
<?php
echo floor(4.3);   // 4
echo floor(9.999); // 9
echo floor(-3.14); // -4
?>
<?php
echo round(3.4);         // 3
echo round(3.5);         // 4
echo round(3.6);         // 4
echo round(3.6, 0);      // 4
echo round(1.95583, 2);  // 1.96
echo round(1241757, -3); // 1242000
echo round(5.045, 2);    // 5.05
echo round(5.055, 2);    // 5.06
?>
发布了17 篇原创文章 · 获赞 1 · 访问量 892

猜你喜欢

转载自blog.csdn.net/weixin_43914604/article/details/97278415