【php快速上手(五)】

目录

  • PHP快速上手(五)
    • PHP 运算符
      • 1. 算术运算符
      • 2. 赋值运算符
      • 3. 比较运算符
      • 4. 逻辑运算符
      • 5. 位运算符
      • 6. 递增/递减运算符
      • 7. 字符串运算符
      • 8. 数组运算符
      • 9. 三元运算符(条件运算符)
      • 10. 空合并运算符
    • 条件语句
      • 1. if 语句
      • 2. else 语句
      • 3. elseif 语句
      • 4. switch 语句

PHP快速上手(五)

PHP 运算符

PHP 提供了丰富的运算符,用于在编写脚本时对变量和表达式进行操作。这些运算符可以被分类为算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符、递增/递减运算符、字符串运算符、数组运算符、三元运算符和其他运算符等。

1. 算术运算符

+(加法):$a + $b 返回两个数字的和。
-(减法):$a - $b 返回两个数字的差。
*(乘法):$a * $b 返回两个数字的积。
/(除法):$a / $b 返回两个数字的商。
%(取模):$a % $b 返回 $a 除以 $b 的余数。
**(幂运算):$a ** $b 返回 $a$b 次方。

2. 赋值运算符

=(赋值):$a = $b$b 的值赋给 $a。
复合赋值运算符:$a += $b$a -= $b$a *= $b$a /= $b$a %= $b$a **= $b,表示将 $b$a 运算后的结果赋值给 $a

3. 比较运算符

==(松散相等):$a == $b 比较 $a$b 是否相等,不要求类型相同。
===(严格相等):$a === $b 比较 $a$b 是否相等,且类型必须相同。
!=<>(松散不相等):$a != $b$a <> $b 比较 $a$b 是否不相等,不要求类型相同。
!==(严格不相等):$a !== $b 比较 $a$b 是否不相等,且类型必须不同。
<>(小于、大于):$a < $b$a > $b 比较 $a$b 的大小。
<=>=(小于等于、大于等于):$a <= $b$a >= $b 比较 $a$b 是否小于等于或大于等于。

4. 逻辑运算符

&&and:逻辑与。
||or:逻辑或。
! 或 not:逻辑非。
xor:逻辑异或。

5. 位运算符

&(按位与):$a & $b|(按位或):$a | $b^(按位异或):$a ^ $b~(按位非):~$a<<(左移位):$a << $b>>(右移位):$a >> $b

6. 递增/递减运算符

++(递增):$a++++$a 增加 $a 的值。
--(递减):$a----$a 减少 $a 的值。

7. 字符串运算符

.(连接符):$a . $b 连接两个字符串。
.= (连接并赋值):$a .= $b$b 连接到 $a 的后面,并将结果赋值给 $a

8. 数组运算符

+(数组合并):$a + $b 合并两个数组,保留 $a 中的键值。
==!=(数组比较):比较两个数组的键和值是否相等或不相等。
===!==(数组严格比较):比较两个数组的键和值是否完全相等,包括顺序。

9. 三元运算符(条件运算符)

? :(三元运算符):$result = $a ? $b : $c,当 $atrue 时,返回 $b,否则返回 $c

10. 空合并运算符

??(空合并运算符):$result = $a ?? $b,如果 $a 是空(null 或未定义),返回 $b,否则返回 $a

条件语句

在 PHP 中,条件语句用于根据不同的条件来执行不同的代码块。这些语句可以让你的代码在不同情况下表现出不同的行为。常见的条件语句包括 if、else、elseif、switch 等。

1. if 语句

if 语句用于根据给定的条件执行代码块。如果条件为 true,代码块将被执行,否则将被跳过。
语法:

if (condition) {// 当条件为 true 时执行的代码块
}

示例:

$age = 20;
if ($age >= 18) {echo "You are an adult.";
}

2. else 语句

else 语句用于在 if 语句的条件为 false 时执行另一块代码。

if (condition) {// 当条件为 true 时执行的代码块
} else {// 当条件为 false 时执行的代码块
}

示例:

$age = 16;
if ($age >= 18) {echo "You are an adult.";
} else {echo "You are a minor.";
}

3. elseif 语句

elseif 语句用于在多个条件之间进行选择。如果前面的 if 条件为 false,elseif 条件将被检查。
语法:

if (condition1) {// 当 condition1 为 true 时执行的代码块
} elseif (condition2) {// 当 condition1 为 false 而 condition2 为 true 时执行的代码块
} else {// 当所有条件都为 false 时执行的代码块
}

示例:

$score = 85;
if ($score >= 90) {echo "Grade: A";
} elseif ($score >= 80) {echo "Grade: B";
} elseif ($score >= 70) {echo "Grade: C";
} else {echo "Grade: D";
}

4. switch 语句

switch 语句用于根据一个表达式的值选择不同的代码块执行。switch 语句可以用于替代多个 if 和 elseif。
语法:

switch (expression) {case value1:// 当 expression 等于 value1 时执行的代码块break;case value2:// 当 expression 等于 value2 时执行的代码块break;default:// 当 expression 不等于任何 case 值时执行的代码块break;
}

示例:

$day = "Monday";
switch ($day) {case "Monday":echo "Today is Monday.";break;case "Tuesday":echo "Today is Tuesday.";break;default:echo "Today is not Monday or Tuesday.";break;
}
  • 注意事项
    if、else 和 elseif 语句是嵌套的,这意味着你可以在一个条件语句内部使用另一个条件语句。
    switch 语句中,每个 case 块都应该以 break 语句结束,否则代码会继续执行下一个 case 块。这种行为被称为“贯穿”(fallthrough)。
    当你有许多可能的条件时,使用 switch 语句可能比 if 和 elseif 语句更清晰。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/809631.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ArcGIS Pro中的3D建模

在本文中,我讲述了我最近一直在探索的在 ArcGIS Pro 中设计 3D 模型的过程。 我的目标是尽可能避免与其他软件交互(即使是专门用于 3D 建模的软件),并利用 Pro 可以提供的可能性。 这个短暂的旅程分为三个不同的阶段:准备、组装和照明。 我们必须使用一些布局可能性以及一…

flask后端+网页前端:基于 socket.io 的双向通信和服务器部署

我想实现的效果是&#xff0c;我的服务器提供两个路由网址&#xff0c;网页A用于拍照、然后录音&#xff0c;把照片和录音传给服务器&#xff0c;服务器发射信号&#xff0c;通知另一个路由的网页B更新&#xff0c;把刚刚传来的照片和录音显示在网页上。 然后网页B用户根据这个…

前端开发中地图定位与距离计算的应用实践

前端开发中地图定位与距离计算的应用实践 在前端开发中&#xff0c;地图功能的应用日益广泛&#xff0c;无论是用户位置的定位、目标距离的计算&#xff0c;还是地址的解析与展示&#xff0c;地图都发挥着不可替代的作用。本文将重点介绍前端开发中实现地图定位、距离计算以及…

MySQL前缀索引(3/16)

前缀索引 前缀索引&#xff1a;MySQL支持前缀索引&#xff0c;允许定义字符串的一部分作为索引。如果不指定前缀长度&#xff0c;索引将包含整个字符串。前缀索引可以节省空间&#xff0c;但可能会增加查询时的记录扫描次数&#xff08;因为会查询到多个前缀相同的数据&#x…

Python(9):一文学懂进程,线程和协程

文章目录 一、进程1.创建多进程2.查看进程id3.进程池4.进程间的互相通信 二、线程1.threading线程模块2.创建多线程3.互斥锁4.死锁5.线程间的互相通信 三、协程1.认识协程2.gevent模块在爬虫中的应用 四、多线程、多进程、协程的区别 分类定义程序一个应用可以当做一个程序&…

前端大文件分块上传

大文件上传是一个复杂的过程&#xff0c;尤其是在前端&#xff0c;我们需要考虑用户体验、网络状况、文件完整性等多个方面。 以下是一个使用HTML5的File API和XMLHttpRequest进行大文件分块上传的详解和示例代码。 一、前端分块上传流程 选择文件&#xff1a;使用<input t…

局域网共享文件夹怎么加密?局域网共享文件夹加密方法介绍

在企业局域网中&#xff0c;共享文件夹扮演着重要的角色。为了保护数据安全&#xff0c;我们需要加密保护局域网共享文件夹。那么&#xff0c;局域网共享文件夹怎么加密&#xff1f;下面我们来了解一下吧。 局域网共享文件夹加密方法 局域网共享文件夹加密推荐使用共享文件夹加…

【计算机考研】择校!北邮VS北航,哪所毕业以后就业好?

北邮计算机专业的就业优势相较于北航可能源于多方面的因素。 北邮在计算机和通信领域的实力备受肯定&#xff0c;被誉为"信息黄埔"&#xff0c;这一声誉在一定程度上增强了北邮计算机专业毕业生的竞争力。 北邮的整体学校氛围和教育体系更加注重信息技术的发展和应…

django.contrib包

from django.contrib是Django框架中的一个包&#xff0c;它包含了一些常用的功能和扩展&#xff0c;用于增强Django的功能和便利性。该包提供了一些常见的功能模块&#xff0c;如认证、管理后台、会话管理等。 具体来说&#xff0c;from django.contrib包含了以下一些子模块&a…

vue表格操作列,按钮太多显示... 点击后悬浮显示全部按钮

效果: 分析原理: 一共就三步,仔细看看很简单,位置要加对,代码结构下边有demo 代码结构demo: <el-table-columnlabel"操作"align"center"fixed"right"show-overflow-tooltip><template slot-scope"scope"><el-buttonsi…

STM32电机控制固件架构

目录 一、应用程序剖析 二、面向现场的控制实现体系结构 1、参考计算循环 2、电流调节环路 3、安全回路 一、应用程序剖析 上图显示了由ST MC SDK构建的电机控制应用程序。首先&#xff0c;这样的应用程序是由电机控制工作台生成的软件项目&#xff0c;这要归功于STM32Cube…

js事件循环的理解

js事件循环的理解&#xff1a; js事件循环是一种异步执行的机制&#xff0c;因为js是单线程运行的&#xff0c;运行在浏览器和node.js中的&#xff0c;因为浏览器和node.js为它异步API提供了多线程支持&#xff0c;执行是由上到下执行先执行同步&#xff0c;在中间出现宏任务和…

01 SQL基础 -- 初识数据库与安装

一、初识数据库 数据库是将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合。该数据集合称为数据库(Database, DB)。用来管理数据库的计算机系统称为数据库管理系统(Database Management System, DBMS) 1.1 DBMS 的种类 DBMS 主要通过数据的保存格式…

【MySQL】数据库开篇

SueWakeup 个人主页&#xff1a;SueWakeup 系列专栏&#xff1a;学习技术栈 个性签名&#xff1a;保留赤子之心也许是种幸运吧 本文封面由 凯楠&#x1f4f8;友情提供 目录 本系列传送门 1. 什么是数据库&#xff1f; 2. 为什么使用数据库 3. 数据库的分类 4. NoSQL 与关系…

全志R128 SDK HAL 模块开发指南——PMU

PMU PMU - 电源管理单元&#xff0c;负责系统各模块供电及电池充放电管理。 模块配置 regulator 相关配置项&#xff1a; Drivers Options --->soc related device drivers --->REGULATOR Devices --->[*] enable regulator driver[*] regulator testpower 相关配…

android android.permission.MANAGE_EXTERNAL_STORAGE使用

android11 及以上版本&#xff0c;如果release版本要读取外部存储公共目录&#xff0c;即sdcard公共目录&#xff0c;需要在androidManifest.xml下申明 <uses-permission android:name"android.permission.MANAGE_EXTERNAL_STORAGE" /> 如果要发版到海外&…

【UE Niagara】光束发射模块学习

效果 步骤 1. 新建一个Niagara发射器&#xff0c;使用Empty模板&#xff0c;这里命名为“NE_Beam” 打开“NE_Beam”&#xff0c;添加条带渲染器 添加“Spawn Burst Instantaneous”模块&#xff0c;设置生成数量为100 添加一个“Beam Emitter Setup”模块 再添加一个“Spawn …

4-10 面经

1、说一下项目的整体架构 2、RabbitMQ和kafka的特点&#xff0c;各自适用于什么场景 3、kafka为什么是高可用的 4、说一下Es的分片 5、说一下你们redis集群结构&#xff0c;redis的使用场景 6、分片集群中&#xff0c;3个主节点&#xff0c;3个从节点&#xff0c;如果某个主从节…

Linux C应用编程:MQTT物联网

1 MQTT通信协议 MQTT&#xff08;Message Queuing Telemetry Transport&#xff0c;消息队列遥测传 输&#xff09;是一种基于客户端-服务端架构的消息传输协议&#xff0c;如今&#xff0c;MQTT 成为了最受欢迎的物联网协议&#xff0c;已广泛应用于车联网、智能家居、即时聊…

sqoop:错误: 找不到或无法加载主类 org.apache.hadoop.mapreduce.v2.app.MRAppMaster(已解决)

1 报错信息 错误: 找不到或无法加载主类 org.apache.hadoop.mapreduce.v2.app.MRAppMaster 说明&#xff1a; 操作将数据库中的数据导入到HDFS中 执行sqoop import --connect jdbc:mysql://aaa01:3306/mysql --username root --password root --table test 时报了以下错误 2 报…