PHP运算符与流程控制

news2024/10/5 22:23:20

华子目录

  • 运算符
    • 赋值运算符
    • 算术运算符
    • 比较运算符
    • 逻辑运算符
    • 连接运算符
    • 错误抑制符
    • 三目运算符
    • 自操作运算符
  • 计算机码
    • 位运算符
  • 运算符优先级
  • 流程控制
    • 控制分类
    • 顺序结构
    • 分支结构
      • if分支
      • switch分支
    • 循环结构
      • for循环
      • while循环
      • continue
      • break

运算符

  • 运算符:operator,是一种将数据进行运算的特殊符号,在PHP中一共有十种运算符之多。

赋值运算符

  • 赋值运算:符号是=,表示将右边的结果(可以是变量、数据、常量和其它运算出来的结果),保存到内存的某个位置,然后将位置的内存地址赋值给左侧的变量(常量)。

算术运算符

+    执行数据累加
-    数据相减
*    键盘上没有乘法符号,使用*代替,两个数相乘
/    正斜杠代替,表示两个数相除
%    取余(模)运算,两个数(整数)相除,保留余数

在进行除法运算或者取余运算的时候,对应的除数(第二个数)不能为0

在这里插入图片描述

比较运算符

比较运算:比较两个数据的大小,或者两个内容是否相同,返回的结果都是布尔类型:满足返回true,不满足返回false
>  左边大于右边,返回结果true
>= 左边大于等于右边
<  左边小于右边
<= 左边小于或者等于右边
== 左边的与右边的相同(数值大小相同)
!=  左边的与右边的不同(数值大小不同)
===  全等于,左边与右边相同:大小以及数据的类型都要相同
!==   不全等于,只有大小或者类型不同

在这里插入图片描述
在这里插入图片描述

逻辑运算符

逻辑运算:针对不同的结果进行匹配。满足条件返回true,不满足返回false
&&  逻辑与,左边的条件与右边的条件同时成立(两边结果都为true)
||  逻辑或,左边的条件或者右边的条件只要有一个满足即可
!  逻辑非,对已有条件进行取反,本身为true,取反结果就是false

连接运算符

连接运算:是PHP中将多个字符串拼接的一种符号
.  将两个字符串连接到一起


.=    复合运算,将左边的内容与右边的内容连接起来,然后重新赋值给左边变量


eg:
A .= b  =====  A = A . b

在这里插入图片描述
在这里插入图片描述

错误抑制符

  • 在PHP中有一些错误可以提前预知,但是这些错误可能无法避免,但是又不希望报错给用户看,可以使用错误抑制符处理。
@   在可能出错的表达式前面使用@符号即可

在这里插入图片描述
在这里插入图片描述

  • 错误抑制符通常在生产环境(上线)会用到,在开发的时候不会用:系统本身最好没有任何错误。

三目运算符

  • 三目运算:有三个表达式参与的运算(简单的的分支结构缩写)
返回值 = 表达式1 ? 表达式2 :表达式3;
运算:如果表达式1成立,那么执行表达式2,否则执行表达式3;

注意:如果表达式本身比较复杂,建议使用括号包起来。

在这里插入图片描述

自操作运算符

  • 自操作:自己操作自己的运算符
++   在原来的值上+1
--   在原来的值上-1

+=  左边的结果与右边结果相加,然后赋值给左边
-=  左边的减去右边的结果,然后复制给左边
*=  乘法操作
/=  除法操作
%=  模操作
$a = 1;
$a++; // $a = $a + 1;

计算机码

  • 计算机码:计算机在实际存储数据的时候,采用的编码规则(二进制规则)
  • 计算机码:原码、反码和补码,数值本身最左边一位是用来充当符号位:正数为0,负数为1
    • 原码:数据本身从十进制转换成二进制得到的结果

      • 正数:左边符号位为0(正数的原码、反码和补码就是原码本身)
      • 负数:左边符号位为1
    • 反码:只针对负数,符号位不变,其他位取反

    • 补码:只针对负数,反码+1

在这里插入图片描述

位运算符

  • 位运算取出计算机中最小的单位(位bit)进行运算
&  按位与,两个位都为1,结果为1,否则为0
|  按位或,两个有一个为1,结果为1
~  按位非,一个位如果为1则变成0,否则反之

在这里插入图片描述

  • 系统进行任何位运算的时候都是使用的都是补码
  • 运算结束之后都必须转换成原码才是最终要显示的数据

在这里插入图片描述

^   按位异或,两个相同则为0,不同则为1
<<  按位左移,整个位(32位),向左移动一位,右边补0
>>  按位右移,整个位向右移动一位,左边补符号位对应内容(正数补0,负数补1

运算符优先级

在这里插入图片描述

流程控制

控制分类

  • 顺序结构:代码从上往下,顺序执行。(代码执行的最基本结构)
  • 分支结构:给定一个条件,同时有多种可执行代码(块),然后会根据条件执行某一段代码
  • 循环结构:在某个条件控制范围内,指定的代码(块)可以重复执行

顺序结构

最基本结构,所有代码默认都是从上往下依次执行

分支结构

if分支

  • 在PHP中,分支结构主要有两种:if分支和switch分支

在这里插入图片描述

switch分支

在这里插入图片描述

循环结构

PHP中循环结构有以下几种:
For循环:通过条件、起始和终止判断执行
While循环:通过判断条件终止
Do-while循环:跟while差不多
Foreach循环:专门针对数组

for循环

在这里插入图片描述

  • 无限循环
    在这里插入图片描述

while循环

在这里插入图片描述

continue

在这里插入图片描述

break

在这里插入图片描述

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

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

相关文章

2024年C语言最新经典面试题汇总(21-30)

C语言文章更新目录 C语言学习资源汇总&#xff0c;史上最全面总结&#xff0c;没有之一 C/C学习资源&#xff08;百度云盘链接&#xff09; 计算机二级资料&#xff08;过级专用&#xff09; C语言学习路线&#xff08;从入门到实战&#xff09; 编写C语言程序的7个步骤和编程…

【力扣 Hot100 | 第一天】4.10 两数相加

文章目录 1.两数相加&#xff08;4.10&#xff09;1.1题目1.2解法一&#xff1a;模拟1.2.1解题思路1.2.2代码实现 1.两数相加&#xff08;4.10&#xff09; 1.1题目 给你两个 非空 的链表&#xff0c;表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的&#xff0c…

OpenHarmony南向嵌入式:【XR806开发板指导文档】

一. 简介 芯片介绍 XR806是全志科技旗下子公司广州芯之联研发设计的一款支持WiFi和BLE的高集成度无线MCU芯片&#xff0c;支持OpenHarmony轻量设置系统。具有集成度高、硬件设计简单、BOM成本低、安全可靠等优点。可广泛满足 智能家居、智慧楼宇、工业互联、儿童玩具、电子竞…

NCF代码运行

keras 2.1.4 tensorflow 1.12.0 python 3.6.4 numpy 1.14.5 一、准备工作 1、安装虚拟环境 conda create -n tensorflow python3.6.4conda activate tensorflowconda install tensorflow1.12.0conda install keras2.1.4conda info2、安装相应依赖 cd Py3_Recommender-Syste…

恶意样本溯源法

恶意样本溯源追踪主要去了解攻击者或者团队的意图&#xff1b;&#xff08;有因才有果&#xff0c;这里主要是通过分析结果&#xff0c;去了解攻击者的意图&#xff0c;比如&#xff1a;政治&#xff0c;私怨&#xff0c;业务&#xff0c;经济等&#xff09;。 了解攻击链 恶…

tkinter窗口组件Entry

from tkinter import * 创建主窗口 app Tk() 设置窗口大小为1040x2048(手机) app.geometry(“1040x2048”) 设置窗口背景为灰色 app.configure(bg“gray”) 定义一个函数text()&#xff0c;用于处理输入框内容的变化 def text(): # 获取输入框e1的内容 if e1.get() “…

JVM之JVM的基本介绍

基本介绍 JVM&#xff1a;全称 Java Virtual Machine&#xff0c;即 Java 虚拟机&#xff0c;一种规范&#xff0c;本身是一个虚拟计算机&#xff0c;直接和操作系统进行交互&#xff0c;与硬件不直接交互&#xff0c;而操作系统可以帮我们完成和硬件进行交互的工作 特点&…

【计算机毕业设计】停车场管理系统——后附源码

&#x1f389;**欢迎来到琛哥的技术世界&#xff01;**&#x1f389; &#x1f4d8; 博主小档案&#xff1a; 琛哥&#xff0c;一名来自世界500强的资深程序猿&#xff0c;毕业于国内知名985高校。 &#x1f527; 技术专长&#xff1a; 琛哥在深度学习任务中展现出卓越的能力&a…

Chatgpt掘金之旅—有爱AI商业实战篇|虚拟助理|(九)

演示站点&#xff1a; https://ai.uaai.cn 对话模块 官方论坛&#xff1a; www.jingyuai.com 京娱AI 一、AI技术创业在虚拟助理业务有哪些机会&#xff1f; 人工智能&#xff08;AI&#xff09;技术作为当今科技创新的前沿领域&#xff0c;为创业者提供了广阔的机会和挑战。随…

java项目之的网上报名系统(源码+文档)

项目简介 网上报名系统的主要使用者分为&#xff1a;管理员模块如下&#xff1a;首页、个人中心、考生管理、级别专业管理、报名信息管理、考生成绩管理、系统论坛、系统管理等。考生模块&#xff1a;首页、个人中心、报名信息管理、考生成绩管理等。前台首页&#xff1a;首页…

关于Ribbon在SpringCloudAlibaba2021.1版本中,找不到服务实例

关于Ribbon在SpringCloudAlibaba2021.1版本中&#xff0c;找不到服务实例 放个妹子 SpringCloudAlibaba在2021.1版本中,spring-cloud-starter-alibaba-nacos-discovery默认已经移除了ribbon模块 手动加上spring-cloud-starter-netflix-ribbon依赖后&#xff0c;项目能正常启动…

【程序分享】MD2D 程序:用于从分子动力学模拟中准确测定扩散系数的 python 模块

分享一篇用于从分子动力学准确测定扩散系数的 python 模块:MD2D 。 感谢论文的原作者&#xff01; 主要内容 “通过将均方位移&#xff08;MSD&#xff09;拟合到爱因斯坦关系中&#xff0c;可以从分子动力学&#xff08;MD&#xff09;模拟中推导出自扩散系数。然而&#…

设计模式——外观(门面)模式10

外观模式&#xff1a;能为系统框架或其他复杂业务流程封装提供一个简单的接口。 例如抽奖过程中 设计模式&#xff0c;一定要敲代码理解 调用1&#xff08;抽奖系统&#xff09; /*** author ggbond* date 2024年04月08日 10:34*/ public class Lottery {public String getId…

使用 HBuilderX自动上传Uniapp 微信小程序代码

HBuilderX内置相关环境&#xff0c;开箱即用&#xff0c;无需配置nodejs。本文只介绍发布微信小程序的步骤。 1.下载和安装 HBuilderX hbuilder首页&#xff1a;https://www.dcloud.io/hbuilderx.html 下载hbuilder编辑器,选择对应的系统,Windows和mac正式版即可,下载后免安…

数字化时代:IT界的致富秘籍 —— 策略×态度×机遇

&#x1f31f; 数字化时代&#xff1a;IT界的致富秘籍&#x1f680; —— 策略态度机遇 在数字化浪潮中冲浪&#x1f3c4;‍♂️&#xff0c;IT行业犹如一片无限可能的蓝海。想要在这片汹涌的海洋中捕获财富&#xff0c;不是一件轻而易举的事。让我们一起深入探索&#xff0c;如…

判断系统是debian、centos、Ubuntu的命令

要确认自己的Linux系统是基于Debian的还是其他发行版&#xff0c;你可以使用几种不同的方法。以下是几种常见的方法&#xff1a; cat /etc/os-releaselsb_release -acat /etc/issueunmae -a os-release文件 cat /etc/os-release&#xff1a;这个文件通常包含了关于你的操作系…

云服务器环境web环境搭建之JDK、redis、mysql

一、Linux安装jdk&#xff0c;手动配置环境 链接: https://pan.baidu.com/s/1LRgRC5ih7B9fkc588uEQ1whttps://pan.baidu.com/s/1LRgRC5ih7B9fkc588uEQ1w 提取码: 0413 tar -xvf 压缩包名 修改配置文件/etc/profile 二、安装redis环境 方案一&#xff1a; Linux下安装配置r…

力扣HOT100 - 56. 合并区间

解题思路&#xff1a; class Solution {public int[][] merge(int[][] intervals) {// 先按照区间起始位置排序Arrays.sort(intervals, (v1, v2) -> v1[0] - v2[0]);int[][] res new int[intervals.length][2];int idx -1;for (int[] interval : intervals) {//直接加入的…

JS控制元素平滑滚动,页面自动滚动锚点实现

使用 scrollIntoView 实现元素内子元素的平滑滚动&#xff0c; 下面是模拟接口list返回&#xff0c;然后通过按钮切换下一个&#xff0c;页面就会滚动到响应的位置 具体 scrollIntoView 有一些其他参数来配置滚动的具体交换&#xff0c;网上去查即可 备注&#xff1a;下面的代码…

cocos creator 实现spine局部换装

1 使用3.7.4版本 2 js代码 3 c Native层修改源码