我是dream,我在新课培训学习网安方面的知识,下面是我的第13次上课的内容。
创建一个网站的流程:
01 在小皮上创建一个新的网站
创建成功
,
02 用VS code 打开刚才的创建的文件夹,开始编程
输入的网址为:域名+PHP页面名称
未经过流程控制的代码:从上往下依次执行某个代码
一、流程控制
概念:
选择结构语句:指的就需要对一些条件作出判断,从而决定执行指定的代码
1. 条件结构
1.1 ‘if’ 单分支语句
1.2 if …else 语句
if…else语句也称为双分支语句,当满足某种条件时,就进行某种处理,否则进行另一种处理。
1.3 三目运算符
? : 可以代替简单的 if…else
1.4 if…elseif…else
if..elseif..else语句也称为多分支语句,用于针对不同情况进行不同的处理
条件结构:if…elseif…else
按顺序执行:if ----> elseif -----> else
a). if 一定在最前面
b). elseif一定在else前面
c). 一旦进入了if,就不会再进入elseif和else了
d). 一旦进入了elseif,就不会再进入else了。
e). 不管有多少个elseif只能进入其中一个
f). if和else只能有一个,elseif可以有多个。
举例:对一个学生的考试成绩进行等级的划分,若分数在90~100分为优秀,分数在80~90分为优秀为良好,分数在70~80分为中等,分数在60~70分为及格,分数小于60则为不及格。
如果不重新给$cj赋值,那么直接运行区间范围,出现的数字会是随机的。
一旦if判断为true,后面的判断全都不会进行。
只要为true,判断结束,输出结果。
1.5 定值判断
switch 语句
概念:switch语句也是多分支语句,功能与if系列条件语句相同,不同的是它只能针对某个表达式的值作出判断,从而决定执行哪一段代码
特点:代码更加清晰简洁、便于阅读
举例:根据学生成绩$score进行评比(满分为100分)
工作原理:首先对一个简单的表达式 n(通常是变量)进行一次计算。将表达式的值与结构中每个 case 的值进行比较。如果存在匹配,则执行与 case 关联的代码。代码执行后,使用 break 来阻止代码跳入下一个 case 中继续执行。default 语句用于不存在匹配(即没有 case 为真)时执行
只有一个花括号,在一个代码块里面,当匹配到一个值的时候,后面的也会去执行,这时候我们就需要用break这个语句进行结束,当每一个值都不匹配的话,我们还需要让他继续去执行的话就需要输出default这个值,也就是相当于else。
范围判断建议用:if…elseif…else结构
2. 循环结构
循环结构语句
概念:就是可以实现一段代码的重复执行
举例:计算给定区间内的偶数或奇数的和等
经常需要让相同的代码块一次又一次地重复运行,我们可以在代码中使用循环语句来完成这个任务。
while(条件){
代码 //可能会重复执行多次的
}
// 此处代码不会在循环一次后立即执行
2.1 while循环
如果i=10,会发生什么?
条件不满足时,while一次都进入不了,会输出一片空白
2.2 do…while
do…while循环语句的功能与while循环语句类似
唯一的区别在于,while是先判断条件后执行循环体,而do...while会无条件执行一次循环体后再判断条件。
当条件不满足,比如$i >= 5时,会无条件执行一次。
求和
2.3 for 循环
for循环语句是最常用的循环语句,它适合循环次数已知的情况
循环四要素:
01 循环变量定义
02 循环条件判断
03 循环变量在循环中改变
04 循环操作
由于循环三要素都写在( )中,让人比较直观地看到循环的初始值和最大值,以及循环的次数。
练习:
输出从1-100的所有偶数
取巧之法:
常规方法(运算符%,条件结构,循环结构)
写九九乘法表
2.4 continue和break 跳转指令
continue语句与break语句的区别在于,前者continue用于结束本次循环的执行,开始下一轮循环的执行操作;后者break 用于终止当前循环,跳出循环体。
break语句可应用在switch和循环语句中,其作用是终止当前语句的执行,跳出switch选择结构或循环语句,执行后面的代码。
continue 和 break 关键字可以作用于 while、do while 、for
continue:用于跳过本次循环,直接进入下一次循环(循环变量自增不会跳过)
break: 用于结束循环
二、文件包含语句
作用:在程序开发中,会涉及到多个PHP文件。为此,PHP提供了包含语句,可以从另一个文件中将代码包含进来。
好处:不仅可以提高代码的重用性,还可以提高代码的维护和更新的效率。
inclue语句
具体语法:include ‘文件路径’
“文件路径”指的是被包含文件所在的绝对路径或相对路径。
所谓绝对路径就是从盘符开始的路径,如“C:/web/test.php”。
所谓相对路径就是从当前路径开始的路径,假设被包含文件test.php与当前文件所在路径都是“C:/web”,则其相对路径就是“./test.php”。
在相对路径中,“./”表示当前目录,“../”表示当前目录的上级目录。
- 可以将其他PHP的内容拿过来;
- 可以放在任意位置
三、数组
1、数组概念
概念:与变量一样的是也是在内存中开辟一块储存数据的空间。不同的是变量是储存单个数据的空间, 而数组是一组连续的内存空间, 可以用于储存多个数据。
思考:如何保存一个班级的所有学生、一个公司的全部员工等的相关信息
回答:一种方法,利用前面学习过的知识,则每一条信息都需要一个变量去保存,缺点是这样做很麻烦,而且容易出错,又不合理;另一种方法就是利用数组。
概念:数组就是一个可以存储一组或一系列数值的变量。
目标:将多个互相关联的数据,组织在一起形成一个合集,作为一个单元使用
数组构成:数组是由一个或多个数组元素组成的
数组元素:每一个数组元素由键(Key)和值(Value)构成
键:“键”为元素的识别名称,也被称为数组下标
值: “值”为元素的内容
映射: “键”和“值”之间存在一种对应关系,称之为映射
类型划分:根据键的数据类型,可以将数组划分为索引数组和关联数组
2、所有的分类
2.1 索引数组
索引数组是指键名为整数的数组。默认情况下,索引数组的键名是从0开始,并依次递增。它主要适用于利用位置(0、1、2……)来标识数组元素的情况。另外,索引数组的键名也可以自己指定。
array()
Array ( [0] => C [1] => Python [2] => java [3] => go )
[ ] 是系统自动生成的 index(索引,下标)
a) 使用下标可以取出数组中对应的元素(element)
b) 用print_r是最好的语法
c)使用下标替换数组中某一个位置的值
2.2 关联数组
关联数组是指键名为字符串的数组。通常情况下,关联数组元素的键和值之间有一定的业务逻辑关系。因此,通常使用关联数组存储一系列具有逻辑关系的变量。关联数组的键都是字符串,并与值之间具有一一对应的关系。
一个数组中的元素都分为两个部分(左边k--key键) (右边v--value值)中间使用=>分割k和v
a)取值和赋值时,只能使用key去找到value
b)key是不能相同的,如果有相同的key,那么后者会覆盖掉前者
c)value是可以相同的
a)取值和赋值时,只能使用key去找到value
b)key是不能相同的,如果有相同的key,那么后者会覆盖掉前者
c)value是可以相同的
d) 元素的赋值
取值和赋值都只能通过key来完成。
3、数组定义
3.1 array()语言结构法
array()语言结构中的数组元素使用“键=>值”的方式进行表示,各元素之间使用逗号(,)进行分割。
数组在省略键名的设置时,默认从0开始,依次递增加1,因此该数组元素的键名依次为“0、1、2”。
除此之外,还可以根据实际需求自定义数组元素的键名,如上述示例中的$sports数组变量,将其第1个元素键名设置为2,第2个元素的键名设置为4
前面几乎用print_r()来输出,这里用echo输出,只需要加上具体的下标。
在定义关联数组时 “键”则有明确的数据类型要求,具体如下。
> 键只能是整型或字符串型的数据,如果是其他类型,则会执行类型自动转换
> 合法整型的字符串会被转为整型,如“2”转为2,而“02”则不会被转换,因为其不是一个合法的十进制数值
> 浮点数会被舍去小数部分直接转换成整型,如“2.6”转为2
> 布尔类型的true会被转为1,false转为0
> NULL类型会被转为空字符串
> 若数组中存在相同键名的元素时,后面的元素会覆盖前面元素的值
在定义数组时,还可以定义没有任何元素的数组,以及既有索引表示方式、又有关联表示方式的数组元素。
$mixed数组的元素“b”指定了数字键名为“5”
“b”元素后的“a”元素会自动将前面最大的数字键名加1后,作为其键名,即5+1得到键名6。
3.2 短数组定义法
短数组定义法([])与array()语法结构相同,只需将array()替换为[]即可
1. 不要括号,直接赋值
2. 也可用于关联数组赋值
4、访问数组
4.1、基本访问
数组定义完成后,若想要查看数组中某个具体的元素,则可以通过“数组名[键]”的方式获取。
另外,若要一次查看数组中的所有元素,则可以利用前面学习过的输出语句函数print_r()和var_dump(),并且通常情况下为了使输出的函数按照一定的格式打印,查看时经常与pre标记一起使用。
4.2、遍历数组
4.2.1 for循环遍历
所谓遍历数组就是一次访问数组中所有元素的操作可以使用 for 循环
4.2.2 foreach循环
1. foreach非常强大,可以直接取出值不需要手动生成下标;
2. 只需要定义一个变量保存foreach取出来的值即可
如果是遍历无顺序的数组,由于数组中的键没有规律可循,所以可以使用foreach循环语句,foreach仅用于数组,有两种语法。格式如下:
//第一种格式
foreach ($array as $value){循环体}
//第二种格式
foreach($array as $key => $value){循环体}
//$array表示数组 as $key表示键 $value表示值
> 第一种格式会循环遍历给定的 数组。每次循环中,当前数组元素的值被赋给 $value,下一次循环中将会得到下一个数组元素,直到遍历到数组的末尾,停止遍历并退出循环。
> 第二种格式功能与第一种相同,只是除了当前数组元素的键名也会在每次循环中被赋给变量 $key。
感谢老默老师,课程同步在享学微信公众号上,关注公众号,自动回复获取代码笔记资料。