以下为学习孔祥盛主编的《PHP编程基础与实例教程》(第二版)所做的笔记。

3.4.1 算术运算符

 <?php
$num1 = -10;
$num2 = -4;
$num3 = $num1%$num2;
$num4 = $num1/$num2;
var_dump($num3); //int -2
echo "<br/>";
var_dump($num4); //float 2.5
?>

输出:

 D:\wampServer\www\Apache服务器主目录\practise\例程.php:6:int -2

 D:\wampServer\www\Apache服务器主目录\practise\例程.php:8:float 2.5

3.4.2 递增/递减运算符

++$a:$a的值加1,然后返回$a

$a++:返回$a,然后将$a的值加 1

 <?php
$num1 = 2;
$num2 = ++$num1; //$num1先自加1,然后再将结果赋值给$num2
$num3 = 2;
$num4= $num3++; //先把$num3的值赋给$num4,然后$num3自加1 echo '$num1 =',$num1; //
echo "<br/>";
echo '$num2 =',$num2; //
echo "<br/>";
echo '$num3 =',$num3; //
echo "<br/>";
echo '$num4 =',$num4; //
echo "<br/>";
?>

输出:

 $num1 =3
$num2 =3
$num3 =3
$num4 =2

3.4.3 赋值运算符

PHP中的组合运算符:+=、-=、*=、/=、%=、.=等

程序:

 <?php
var_dump($a = ($b = 4) + 5); //int 9
echo "<br/>";
echo $a;
echo "<br/>";
echo $b;
?>

输出:

 D:\wampServer\www\Apache服务器主目录\practise\例程.php:2:int 9

 9
4

程序:

 <?php
$a = 5;
$a += 3;
echo $a;
echo "<br/>";
$a *= 2;
echo $a;
echo "<br/>";
$a /=2;
echo $a;
echo "<br/>";
?>

输出:

 8
16
8

3.4.4 比较运算符

全等 ===

不等 <>

非全等 !==

程序:

 <?php
$a = 5;
$b = "5.0";
var_dump($a==$b); //boolean true
echo "</br>";
var_dump($a===$b); //boolean false
echo "</br>";
var_dump($a!=$b); //boolean false
echo "</br>";
var_dump($a!==$b); //boolean true
echo "</br>";
var_dump($a>=$b); //boolean true
echo "</br>";
var_dump($a<=$b); //boolean true
echo "</br>"; var_dump($a<>$b); //boolean false
echo "</br>";
?>

输出:

 D:\wampServer\www\Apache服务器主目录\practise\例程.php:4:boolean true

 D:\wampServer\www\Apache服务器主目录\practise\例程.php:6:boolean false

 D:\wampServer\www\Apache服务器主目录\practise\例程.php:8:boolean false

 D:\wampServer\www\Apache服务器主目录\practise\例程.php:10:boolean true

 D:\wampServer\www\Apache服务器主目录\practise\例程.php:12:boolean true

 D:\wampServer\www\Apache服务器主目录\practise\例程.php:14:boolean true

 D:\wampServer\www\Apache服务器主目录\practise\例程.php:17:boolean false

 3.4.5 逻辑运算符

逻辑与 && and
逻辑或 || or
逻辑非  
逻辑异或 xor  

逻辑异或 xor :俩值只有一值为 true ,结果为true,否则为false。

程序:

 <?php
$a = 3>2;
$b = 3>4;
$c = 3>1;
var_dump($a && $b); //boolean false
echo "<br/>";
var_dump($a||$b); //boolean true
echo "<br/>";
var_dump(!$a); //boolean false
echo "<br/>";
var_dump($a xor $b); //boolean true
echo "<br/>";
var_dump($a xor $c); //boolean false
?>

输出:

 D:\wampServer\www\Apache服务器主目录\practise\例程.php:5:boolean false

 D:\wampServer\www\Apache服务器主目录\practise\例程.php:7:boolean true

 D:\wampServer\www\Apache服务器主目录\practise\例程.php:9:boolean false

 D:\wampServer\www\Apache服务器主目录\practise\例程.php:11:boolean true

 D:\wampServer\www\Apache服务器主目录\practise\例程.php:13:boolean false

3.4.6 字符串连接运算符

字符串连接运算符只有一个电运算符“.”,使用 “.”运算符可以将两个字符串连接成一个字符串。

程序:

 <?php
echo "hello world!"."<br/>".date("Y年m月d日h时i分s秒");
?>

输出:

 hello world!
2019年11月05日03时57分15秒

3.4.7 错误抑制运算符

将 "@"运算符放置在PHP表达式之前,该表达式产生的任何错误信息将不会输出。这样做有两个好处。

1.安全:避免错误信息外露,造成系统漏洞。

2.美观:避免浏览器页面出现错误信息,影响页面美观。

程序:

 <?php
print $age; //显示变量未定义的notice信息
echo "<br/>";
@print $age; //@屏蔽变量未定义的notice信息  //不能将print替换成echo,否则会出现程序解析错误
?>

结果:

在出现数据库连接、打开文件流、除0异常时,可以用@符号来抑制函数或表达式错误信息。

 

3.4.8 条件运算符

语法格式为:表达式1?表达式2:表达式3

条件运算符为三目运算符

程序:

 <?php
$a = 0.0;
$b = ($a==0?"zero":"not zero");
echo $b;
?>

输出:

 zero

3.4.9 类型运算符

instanceof 用于判断一个对象是否是某个类的对象

程序:

 <?php
class A{
}
class B{
}
$a = new A(); var_dump($a instanceof A); //boolean true
echo "<br/>";
var_dump($a instanceof B); //boolean false
?>

输出:

 D:\wampServer\www\Apache服务器主目录\practise\例程.php:8:boolean true

 D:\wampServer\www\Apache服务器主目录\practise\例程.php:10:boolean false

3.4.10 执行运算符

  执行运算符使用反引号(·)(一般是键盘上ESC下面的按键)。执行运算符尝试将反引号中的字符串内容作为操作系统系统命令来执行(如Linux的shell命令或Windows的DOS命令),并返回该系统命令的执行结果。

 <?php
$cmd = `netstat -aon`;
print_r($cmd);
?>

 3.4.11 位运算符

位运算符主要用于整型数据的运算,当表达式包含位运算符时,运算时会先将各整型数据转换为相应的二进制数,然后再进行位运算。

图片

程序:

 <?php
$a = 12; //12=00001100
$b = 3; // 3=00000011
echo $a & $b; //
echo "<br/>";
echo $a | $b; //
echo "<br/>";
echo $a ^ $b; //
echo "<br/>";
echo ~$a; //-13
echo "<br/>";
echo $a << $b; //
echo "<br/>";
echo $a >> $b; //
?>

输出:

 0
15
15
-13
96
1

3.4.12 运算符优先级

图片

  使用括号“()”是避免优先级混乱的最有效方式。

3_PHP表达式_4_PHP运算符的更多相关文章

  1. JavaWeb学习之JSP常用标签、EL表达式的运算符、JSTL标签库(6)

    1.JSP常用标签 * 只要支持JSP文件,常用标签有可以直接使用 * 格式: jsp:xxxx * jsp:forward ,完成jsp页面的转发 * page属性:转发的地址 <% requ ...

  2. Python表达式与运算符

    表达式与运算符 Python语言支持以下类型的运算符: 算术运算符 比较(关系)运算符 赋值运算符 逻辑运算符 位运算符 成员运算符 身份运算符 运算符优先级 算术运算符 运算符 描述 + 加 - 两 ...

  3. 二 js表达式与运算符

    /** * Created by Administrator on 2017/12/14. * 表达式与运算符 */ //1.基本表达式 加减乘除 var a = 4; a = 7/6; var b ...

  4. JavaScript权威指南--表达式与运算符

    本章要点 表达式是javascript中的一个短语,javascript解释器会将其计算出一个结果. 程序中的常量.变量名就是一种简单的表达式.复杂的表达式是由简单的表达式组成的,比如数组访问表达式. ...

  5. Java实现 LeetCode 282 给表达式添加运算符

    282. 给表达式添加运算符 给定一个仅包含数字 0-9 的字符串和一个目标值,在数字之间添加二元运算符(不是一元)+.- 或 * ,返回所有能够得到目标值的表达式. 示例 1: 输入: num = ...

  6. Python 简明教程 --- 5,Python 表达式与运算符

    微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 靠代码行数来衡量开发进度,就像是凭重量来衡量飞机制造的进度. -- Bill Gates 目录 1, ...

  7. JavaScript权威设计--JavaScript表达式与运算符,语句(简要学习笔记六)

    1.delete是一元操作符,用来删除对象属性或者元素. var a={ x:1, y:2 } delete a.x; //删除x属性 “x”in a //false:a对象中已经不存在x属性 ale ...

  8. JavaScript权威设计--JavaScript表达式与运算符(简要学习笔记五)

    1.3种原始表达式     1.直接量:    1.23    //数字直接量                         “hello”    //字符串直接量                 ...

  9. JavaScript面试时候的坑洼沟洄——表达式与运算符

    上篇博客JavaScript面试时候的坑洼沟洄--数据类型总结了一下JavaScript数据类型几转换的相关知识,很多朋友可能和我一样,买了书后对数据类型啊.运算符啊.语句啊都是扫两眼或直接略过的,自 ...

随机推荐

  1. darknet 的python接口使用

    首先,python接口文件在安装好的darknet目录下的python文件夹,打开就可以看到 这里的darknet.py文件就是python接口 用编辑器打开查看最后部分代码: 使用十分简单,先将网络 ...

  2. linux下如何制作initramfs镜像?

    1. 准备文件 加入已经准备好了所有文件在/home/initrd-base目录下 2. 在内核中指定/home/initramfs-base目录 General setup -> (/home ...

  3. Python之Django之views中视图代码重复查询的优化

    Django框架中views视图中如果多个函数都有同样的查询语句,例如: allcategory = Category.objects.all() remen = Article.objects.fi ...

  4. idea 配置文件中文显示问题

    配置文件中的中文,有时候会显示异常,因此需要修改文件编码格式修改.下面红框位置需要勾选上.

  5. linux非root用户安装nginx

    先到官网http://nginx.org/en/download.html下载最新稳定版源码包,目前是1.16.1: 下完后通过rz上传至wlf用户soft目录下,退回上一级目录解压: $ cd so ...

  6. EXCEL导入配置开发

    1.登录infor 企业级 选择 配置 EXCEL导入配置 2.新增配置(设置模板名.说明.存储过程名称.应用仓库) 后保存 3.将excel模板放到服务器 路径:/opt/infor/sce/wil ...

  7. Spring cloud微服务安全实战-3-9API安全机制之审计日志

    首先说一下审计日志的处理.审计日志处理的位置,应该是在认证之后,授权之前.因为只有你在认证之后,你才能知道这个请求到底是谁发出来的,谁在做这个事情.在这个授权之前,这样的话那些被拒绝掉的请求.在响应的 ...

  8. 【html】window.open()被部分浏览器拦截问题

    一.原因:1.因为在chrome的安全机制里面,非用户触发的window.open方法,是会被拦截的: 二.什么情况下不会被拦截或会被拦截? 1. $('#btn').click(function ( ...

  9. Qt编写气体安全管理系统23-类型设置

    一.前言 类型设置这个功能模块大大拓展了整个系统的灵活性,将整个系统中所有用到的控制器型号.探测器数量.探测器型号.气体种类.气体符号都存储到数据库表中,用户在类型设置中可以自由添加删除和修改,这样后 ...

  10. SpringBoot学习笔记:动态数据源切换

    SpringBoot学习笔记:动态数据源切换 数据源 Java的javax.sql.DataSource接口提供了一种处理数据库连接的标准方法.通常,DataSource使用URL和一些凭据来建立数据 ...