广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >PHP初级教程------------------(2)
  • 543
分享到

PHP初级教程------------------(2)

java开发语言 2023-09-12 16:09:34 543人浏览 泡泡鱼
摘要

目录 运算符 赋值运算符 算术运算符 比较运算符 逻辑运算符 连接运算符 错误抑制符 三目运算符 自操作运算符 ​编辑 计算机码 位运算符 运算符优先级 流程控制 控制分类 顺序结构 分支结构 If分

目录

运算符

赋值运算符

算术运算符

比较运算符

逻辑运算符

连接运算符

错误抑制符

三目运算符

自操作运算符

​编辑

计算机码

位运算符

运算符优先级

流程控制

控制分类

顺序结构

分支结构

If分支

​ Switch分支

循环结构

For循环

while循环

do-while循环

循环控制

​         流程控制替代语法


运算符

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

赋值运算符

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

算术运算符

算术运算:基本算术操作

+:执行数据累加

-:数据相减

*:键盘上没有乘法符号,使用*代替,两个数相乘

/:正斜杠代替,表示两个数相除

%:取余(模)运算,两个数(整数)相除,保留余数

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

比较运算符

比较运算:比较两个数据的大小,或者两个内容是否相同,返回的结果都是布尔类型:满足返回true,不满足返回false

>:左边大于右边,返回结果true

>=:左边大于等于右边

<:左边小于右边

<=:左边小于或者等于右边

==:左边的与右边的相同(大小相同)

!=:左边的与右边的不同(大小不同)

===:全等于,左边与右边相同:大小以及数据的类型都要相同

!==:不全等于,只有大小或者类型不同

逻辑运算符

逻辑运算:针对不同的结果进行匹配。满足条件返回true,不满足返回false

&&:逻辑与,左边的条件与右边的条件同时成立(两边结果都为true)

||:逻辑或,左边的条件或者右边的条件只要有一个满足即可

!:逻辑非,对已有条件进行取反,本身为true,取反结果就是false

逻辑与和逻辑或又称之为短路运算:如果第一个表达式结果已经满足条件了,那么就不会运行逻辑运算符后面的表达式:在书写代码的时候,尽量将出现概率最高的(能够直接判断出结果)的表达式放到第一位

连接运算符

连接运算:是php中将多个字符串拼接的一种符号

. :将两个字符串连接到一起

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

A .= b  就变成了  A = A . b

错误抑制符

在PHP中有一些错误可以提前预知,但是这些错误可能无法避免,但是又比希望报错给用户看,可以使用错误抑制符处理。

@:在可能出错的表达式前面使用@符号即可

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

三目运算符

三目运算:有三个表达式参与的运算(简单的的分支结构缩写)

语法格式:

表达式1 ? 表达式2 :表达式3;

运算:如果表达式1成立,那么执行表达式2,否则执行表达式3;

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

三目运算可以进行复合三目运算:三目运算中的表达式2和3都是可以是另外一个三目运算。

表达式1 ? (表达式2 ? 表达式4 : 表达式5) : (表达式3 ? 表达式5 : 表达式6);

自操作运算符

自操作:自己操作自己的运算符

++:在原来的值上+1

--:在原来的值上-1

$a = 1;

$a++; // $a = $a + 1;

在PHP中自操作符是可以放到变量前或者后:前置自操作和后置自操作

$a = 1;

$a++;

++$a;       //前置或者后置如果本身只有自操作,不参与其他运算(自操作同时),那么效果是一样的。但是如果自操作同时还参与别的运算,那么效果就不一样

$a = 1;

$b = $a++;       //$a++会导致$a = $a + 1; $a = 2;,上面的$b = 1

$c =++$a;         //++$a会导致$a = $a + 1; $a = 2;,$c = 2;

后置自操作:先把自己所保存的值留下来,然后改变自己,自己给别人的值是原来的值;

前置自操作:先把自己改变,然后把改变后的值给别人。

衍生符号:类似自操作

+=:左边的结果与右边结果相加,然后赋值给左边

-=:左边的减去右边的结果,然后复制给左边

*=:乘法操作

/=:除法操作

%=:模操作

注意:右边是一个整体 $a += $b; =è $a = $a + ($b);

如果进行除法或者取余运算,那么要考虑右边表达式的结果是否为0(为0出错)

';//比较运算符$a = '123';//字符串$b = 123;//整型//判断相等var_dump($a == $b);//全等判断var_dump($a === $b);echo '
';$a = 'weekend';$b = 'Goods';//逻辑与var_dump($a == 'weekend' && $b == 'good');//逻辑或var_dump($a == 'weekend' || $b == 'good');//逻辑非var_dump($b == 'good');var_dump(!($b == 'good'));echo '
';//连接运算符$a = 'hello ';$b = 123;echo $a . $b;//将a变量和b变量连接起来$a .= $b; //$a = $a . $b;echo $a;//错误抑制符echo '
';$a = 10;$b = 0;//$a % $b;//@($a % $b);//三木运算符echo '
';$a = 10;$b = $a > 10 ? 100 : 0;echo $b;//自操作符echo '
';$a = $b = 1;$a++;++$b;//独立操作,不参与其他运算echo $a,$b;echo '
';echo $a++,++$b;//$a和$b不只是独立运算,还参与了输出操作echo $a,$b;$a = 10;$b = 5;$a += $b;//$a = $a + $b = 15;$a -= $b - 1;//$a = $a - ($b - 1);//15 - 5 + 1 = 11echo '
',$a,$b;

计算机码

计算机码:计算机在实际存储数据的时候,采用的编码规则(二进制规则)

计算机码:原码、反码和补码,数值本身最左边一位是用来充当符号位:正数为0,负数为1

原码:数据本身从十进制转换成二进制得到的结果

         正数:左边符号位为0(正数的原码、反码和补码就是原码本身)

         负数:左边符号位为1

反码:针对负数,符号位不变,其他位取反

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

系统中存在两个0:+0和-0

+0: 00000000

-0: 10000000    ->   原码

取反 11111111

补码 00000000

位运算符

位运算:取出计算机中最小的单位(位bit)进行运算

&:按位与,两个位都为1,结果为1,否则为0

|:按位或,两个有一个为1,结果为1

注意:

1、  系统进行任何位运算的时候都是使用的补码

2、  运算结束之后都必须转换成原码才是最终要显示的数据

~:按位非,一个位如果为1则变成0,否则反之

^:按位异或,两个相同则为0,不同则为1

<<:按位左移,整个位(32位),向左移动一位,右边补0

>>:按位右移,整个位向右移动一位,左边补符号位对应内容(正数补0,负数补1)

按位左移:乘以2的操作

按位右移:除以2的操作(不完全正确):整数除2会出现小数

附上代码:

>1);var_dump($b>>2);//按位非var_dump(~$b);//按位与var_dump($a & $b);

运算符优先级

运算符优先级:在多种运算符同时存在的时候,如何结合运算

流程控制

流程控制:代码执行的方向

控制分类

顺序结构:代码从上往下,顺序执行。(代码执行的最基本结构)

分支结构:给定一个条件,同时有多种可执行代码(块),然后会根据条件执行某一段代码

循环结构:在某个条件控制范围内,指定的代码(块)可以重复执行

顺序结构

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

分支结构

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

If分支

If:如果的意思,给定一个条件,同时为该条件设置多种(两种)情况,然后通过条件判断来实现具体的执行段

基本语法:if分支PHP也提供多种方式来实现

最简if:只有一段代码,但是可以选择是否执行

If(条件表达式){

         //满足条件所要执行的内容; //顺序结构

}

基础if:有两面性,满足条件或者不满足条件都有对应的执行代码

If(条件表达式){

         //满足条件后执行的代码段;

}else{

         //不满足条件执行的代码段;

}

复杂if结构:在判断条件之后,通常就有两种结果:满足或者不满足,在不满足之后还可以再次进行条件判断

If(条件表达式1){

         //满足条件表达式1的代码段;

}elseif(条件表达式2){

         //不满足表达式1条件,但是满足表达式2的代码;

}…    //可以使用多个elseif来进行再次条件筛选

Else{

         //全部不满足要执行的代码;

}

注意:如果条件特别多才会采用复合if形式

1、  如果条件比较单一(同一个条件),会采用elseif复合方式

2、  如果判断条件不一致,建议使用嵌套语法(不宜有太多层嵌套:影响代码美观)

If分支,适用于所有的条件判断(分支结构)

附上代码:

';$day = 'satday';if($day == 'sunday'){echo 'go out';}else{//包含全部不满足情况//重新进行判断if($day == 'satday'){echo 'play at home';}else{echo 'work';}}echo '
';if($day == 'sunday'){echo 'go out';}elseif($day == 'satday'){echo 'play at home';}else{echo 'work';}

 Switch分支

Switch分支:有一组情形存在,同过一条件,通常有多个值,但是每一个值都会有对应不同的代码要执行。

Switch判断方式:是将条件放到分支结构内部判断

Switch基本语法:

Switch(条件表达式){

         //所有条件判断:逐个进行

         Case 值1:                                          //当前条件表达式的结果与值1相等(==)

                  要执行的代码段;

                  Break;                                         //在switch中,如果条件匹配成功,那么系统就不会再次匹配条件,会自动顺序执行向下的所有代码(case代码除外),需要中断执行:break表示中断switch(结束)。

         Case 值2:

                  要执行的代码段;

                  Break;

         …

         //可以使用类似else的语法:都不匹配

         Default:

                  //匹配失败的代码;

                  Break;

}

If和switch的选择

1、  if能做所有的分支结构事情

2、  switch处理的是条件比较多,同时比较单一,而且是固定值匹配的分支结构

附上代码:

循环结构

循环结构:代码段在一定的控制下,可以多次执行

在PHP中循环结构有以下几种:

For循环:通过条件、起始和终止判断执行

While循环:通过判断条件终止

Do-while循环:跟while差不多

Foreach循环:专门针对数组

For循环

For循环基本语法

For(条件表达式1;条件表达式2;条件表达式3){

         //条件表达式1:定义初始化条件,可以有多种赋值语句存在,使用逗号分隔即可

         //条件表达式2:边界判定,限定循环执行的次数

         //条件表达式3:用来执行条件变化(自操作)

         //循环体

}

For循环执行原理:

1、  执行条件表达式1:定义初始化条件(执行一次)

2、  执行条件表达式2:判断条件(N次)

         2.1   满足条件:执行循环体

         2.2   不满足条件:循环结束

3、  执行循环体:(N次)

4、  执行条件表达式3:循环变量变化(N次)

5、  执行条件表达式2:判断条件(N次)

6、  重复执行3-4-2步骤:直到第2步不满足条件结束循环

For循环中条件表达式1的多变量定义

For循环特殊使用:for循环中对应的括号(条件)可以一个都没有(死循环):一定要避免出现

For(;;){

         //循环体

}

附上代码:

';}//最后:$i == 11echo $i;

 

while循环

while循环基本语法:

条件初始化;

while(条件表达式){

         //条件表达式就是判断边界条件

         循环体;            //循环条件的变化

}

For与while的选择

1、  如果是基于固定已知条件(数值而且是有规律的变化),使用for循环

2、  while可以做灵活的条件判定(while使用的比较多)

附上代码:

';//循环条件变更//$i++;}

do-while循环

do-while:看着很像while,while首先进行条件判定然后执行循环体,有可能出现第一次就条件不满足,那么就会直接失败(循环体一次都不执行)。Do-while就是先干了再说(执行循环体),后判断条件。(至少会执行一次循环体)

do-while基本语法:

do{

         //循环体

}while(条件表达式);

附上代码:

';}//条件变更$i++;}while($i <= 10);

循环控制

循环控制:在循环内部对循环本身进行控制

中断控制:重新开始循环,循环体中还有其他内容,也再执行

Continue 层级;       //默认是1(循环可以多层嵌套)

终止控制:循环直接结束

Break 层级;             //默认是1

因为循环经常性会碰到嵌套(循环中间包含循环),如果在循环内部有些条件下,明确可以知道当前循环(或者说外部循环)不需要继续执行了,那么就是可以使用循环控制来实现:其中内部循环也可以控制到外部,就是通过使用层级参数。

Continue 2;    //当前自己循环后面内容不再执行,同时外部循环如果还有循环体也不再执行,重新来过;

Break 2;            //当前自己循环结束,同时外部也结束(如果还有外部不受影响,继续执行)

附上代码:

';}echo $i;

流程控制替代语法

流程控制替代语法:分支和循环结构的替代语法

PHP本身是嵌入到html中的脚本语言,需要在HTML中书写一些关于判断或者循环的结构语法,必须符合PHP标签规范,需要HTML与PHP进行混搭,如果使用原始的PHP代码那么会非常不美观。

需求:打印一个九九乘法表,使用表格来展示

在PHP书写到HTML中的这些大括号{}非常不美观,所以PHP提供了一种替代机制,让其可以不用书写大括号:

For(;;){  =  -> for(;;):

}       =   ->   endfor;

PHP中具体有哪些替代语法呢?

PHP应该在HTML中只做数据输出,输出通常伴有条件判断和循环操作,因此PHP提供了对应分支结构和循环结构的替代语法:全部都是对应的一个模式:

左大括号{:使用冒号替代:

右大括号}:使用end+对应的起始标记替代

比如

If:                 if():                开始           endif                       结束

Switch:        switch():        开始           endswitch              结束

For:             For():            开始            endFor                   结束

While:         While():      开始            endWhile                结束

foreach:      for():           开始            endfor                     结束

附上代码:

来源地址:https://blog.csdn.net/weixin_59496235/article/details/129794081

--结束END--

本文标题: PHP初级教程------------------(2)

本文链接: https://www.lsjlt.com/news/404811.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • PHP初级教程------------------(2)
    目录 运算符 赋值运算符 算术运算符 比较运算符 逻辑运算符 连接运算符 错误抑制符 三目运算符 自操作运算符 ​编辑 计算机码 位运算符 运算符优先级 流程控制 控制分类 顺序结构 分支结构 If分...
    99+
    2023-09-12
    java 开发语言
  • airtest IDE初级教程
    一、简介 AirtestIDE 是一款跨平台的 UI自动化测试编辑器 ,内置了Airtest和Poco的相关插件功能,能够使用它快速简单地编写 Airtest 和 Poco 代码。 1. Airtest框架: Airtest 是一个跨平台的...
    99+
    2023-10-27
    android 可用性测试 测试工具
  • dedecms 初级入门使用教程
    一:dedecms安装步骤: 1.配置虚拟路径:在httpd.conf中查找DocumentRoot,修改两处: #DocumentRoot "D:/Apache Group/Apache2/htdocs&qu...
    99+
    2022-06-12
    dedecms 入门使用教程
  • 2.多线程-初阶(下)
    文章目录 4. 多线程带来的的风险-线程安全 (重点)4.1 观察线程不安全4.2 线程安全的概念4.3 线程不安全的原因4.3.1原子性4.3.2可见性4.3.3代码顺序性 4.4 解决之前的线程不安全问题 5. syn...
    99+
    2023-08-20
    java jvm 开发语言 java-ee 多线程
  • 2.5python 循环_python量化实用版教程(初级)
    python 循环 Python 中 for 循环和 while 循环是两种常用的循环结构,用于重复执行一段代码。它们的使用方法和语法有所不同,下面我会简单介绍一下它们的用法。 for 循环 fo...
    99+
    2023-10-12
    python
  • Android开发笔记之Intent初级学习教程
    本文讲述了Android开发笔记之Intent初级学习教程。分享给大家供大家参考,具体如下: 项目创建步骤: New Android Project-> Project ...
    99+
    2022-06-06
    学习 intent android开发 教程 Android
  • 超详细的PHPStudy安装及初级操作教程
    最近刚学的PHP编程语言,总结一下相关软件的安装操作。 一、相关软件的安装 课本上有两种PHP的环境搭建方式: ①下载各个部分,然后安装 ②直接下载一个集成软件,如PHPStudy。 环境搭建软件下载: 小皮面板(phpstud...
    99+
    2023-09-08
    php html5 Powered by 金山文档
  • springmvc经典教程(2)
    springmvc教程系列springmvc史上最好教程(2)springmvc史上最好教程(1)springmvc史上最好教程(3)springmvc史上最好教程(4)一、整合mybatis为了更好的学习...
    99+
    2022-10-18
  • Tensorflow快餐教程(2) -
    Tensorflow的Tensor意为张量。一般如果是0维的数组,就是一个数据,我们称之为标是Scalar;1维的数组,称为向量Vector;2维的数组,称为矩阵Matrics;3维及以上的数组,称为张量Tensor。在机器学习中,用途最...
    99+
    2023-01-31
    快餐 教程 Tensorflow
  • shiro教程(2)- shiro介绍
    shiro教程系列shiro教程(3)-shiro授权1 shiro介绍 1.1 什么是shiroShiro是apache旗下一个开源框架,它将软件系统的安全认证相关的功能抽取...
    99+
    2022-10-18
  • Java 教学例子 目录树 (初级) (转)
    Java 教学例子 目录树 (初级) (转)[@more@]供初学者学习转贴请不要删除作者信息 :)import java.io.*;import java.io.File;class FileTree{  public stat...
    99+
    2023-06-03
  • C++初级线程管理
    目录1 线程启动1.1  线程函数无参数无返回值1.2  线程函数有参数无返回值1.3  调用可调用的类型构造2 等待线程2.1 join等待2.2 异常场景的join等待2.2.1...
    99+
    2022-11-12
  • 【MySQL】MySQL事务保姆级教程(适合MySQL初学者学习)
    🧑‍💻作者名称:DaenCode 🎤作者简介:啥技术都喜欢捣鼓捣鼓,喜欢分享技术、经验、生活。 😎人生感悟:尝尽人生百味,方知世间冷暖。 📖所属专栏:重温M...
    99+
    2023-08-17
    mysql 学习 数据库
  • php初级面试题有哪些
    这篇文章主要介绍php初级面试题有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!php的框架有哪些php的框架:1、Laravel,Laravel是一款免费并且开源的PHP应用框架。2、Phalcon,Phalc...
    99+
    2023-06-14
  • php初学者教程之图片缩放和裁剪
    php程序中改变图片大小的函数大多数人都想到用imagecopyresized(),不过经过测试比较发现,使用imagecopyresampled()改变的图片质量更高。 1、ima...
    99+
    2022-11-13
  • QuantumultX 初学者傻瓜教程
    我这里以“orz”大佬来介绍。 大佬集成了分流、策略、去广告、比价、boxjs等功能,并给了非常详细的任务订阅列表,非常方便。 项目地址:https://github.com/Orz-3/QuantumultX TG频道:https://t...
    99+
    2023-10-12
    服务器 ios
  • vulnhub靶场Matrix-Breakout 2 Morpheus教程
    靶场搭建 靶机下载地址:Matrix-Breakout: 2 Morpheus ~ VulnHub 直接解压双击ova文件即可 使用软件:VMware(可能会出现问题),VirtualBox(此处官方建议使用VirtualBox)...
    99+
    2023-10-28
    网络安全 安全 系统安全 web安全 Powered by 金山文档
  • SparkStreaming编程初级实践详解
    目录写在前面1. 安装Flume安装命令2.使用Avro数据源测试Flume题目描述Flume配置文件执行命令执行结果如下3. 使用netcat数据源测试Flume题目描述编写Flu...
    99+
    2023-05-16
    Spark Streaming编程初级 Spark Streaming
  • SparkSQL编程初级实践详解
    目录写在前面第1题:Spark SQL 基本操作主程序代码主程序执行结果第2题:编程实现将 RDD 转换为 DataFrame题目主程序代码主程序执行结果第3题:编程实现利用 Dat...
    99+
    2023-05-16
    Spark SQL编程实战 Spark SQL
  • Git、PHP和Numpy初学者必备教程,速来围观!
    在现代编程中,Git、PHP和Numpy是非常重要的工具和库。Git是版本控制系统,PHP是一种流行的服务器端编程语言,Numpy是Python的一个科学计算库。无论你是初学者还是已经有一些经验的开发人员,掌握这些工具和库都是非常有用的。...
    99+
    2023-10-24
    git 教程 numpy
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作