1.复合数据类型
1.数组
数组是计算机内存中一段连续的空间。
通过数字作为内存空间的下表我们称之为索引数组
也就是说数组分为索引数组和关联数组
//索引数组:通过元素的位置做下标
//关联数组:数组的值和一个字符串做关联。形成键值对
1.数组的声明
方法1:变量=array()
方法2:通过 [] 的方式
默认情况下:在索引数组中,第一个元素的下标是0,后面依次递增1
默认从0开始,有指定则按指定来再按顺序增。
扩展:
2.extract()
从数组中将变量导入当前的符号表。说人话:数组中的键名做变量名,键值做变量的值。
注意:不能按照键的数据类型来判断是否是索引数组或关联数组,必须看下标和值关联关系,$ starry(1=>’tom’,2=> ‘berry’)也属于关联数组。
因为下标不是表示值的位置
3. 数组的结构分类
a)一维数组
b)多维数组:二维以上 类比表格。
注意:PHP中的二维数组和强数据类型不一样,与强数据不同,它不是一个二维表,是应用层面的分类,不是PHP语言本身的分类。
2.特殊类型
1.PHP引用的外部数据称为资源
2.资源只能获取,不能创建
3.资源也是由类别的。
MULL
1、表示没有定义的变量 2、NULL不区分大小写。
3、调用一个没有返回值的函数,默认返回NULL
3. 数据类型转换
数据类型是数据在内存中存储的结构。和建立在该数据结构上的操作算法的集合。
1.自动转换
运算过程中需要的数据类型和提供的数据类型不一致。
$num1和$num2要比较,必须转成相同的数据类型才能比较,一个是字符串一个是数字它们都转成数字型再比较
2.强制转换
语法:(数据类型)数据
其他数据类型和boo型之间的转换规律
1、字符串转换规律:非0非空为true, 0或空为false
2、数字转换规律: 0为假,非0为真。
4.运算符
1.算数运算符
脚下留心:在js中,+可以运算数字和字符串相加。在PHP中,+只能做数字相加。
2.关系运算符
> >= < <= == != === !==
比较运算符的结果不是tue就是 false。
3.逻辑运算符
&& 与 || 或 ! 非
逻辑运算符的作用是用来连接比较运算符的
4.字符串连接符 .
5.赋值运算符
= += //a+=b a=a+b -= *= /= %= .= //a.=b a=a.b
6.三元运算符
语法:表达式?值1:值2
5.注释
总结:
1. HTML注释 <!-- html注释 --> 2. CSS注释 /* CSS注释 */ 3. Javascript注释: a) 单行注释 //单行注释 b)多行注释 /* 多行注释 */ 4. PHP注释: a) 单行注释 //单行注释 #单行注释 b)多行注释 /* 多行注释 */ 5. MYSQL注释: a) 单行注释 --单行注释 b)多行注释 /* 多行注释 */
6.判断语句
1.单分支
语法:
if(条件){ //代码块 } 如果条件成立就执行代码块,否则就不执行
还有一个替代语法:{}变if ,结尾加 endif
多学一招:如果讦f块中就上句代码,则大括号是可以省略的。
2.双分支
if(条件){ //代码1 } else{ //代码2 } 如果条件成立就执if 一段,否则执行else一段。
相应的替代语法:
补充:
判断变量是否为空
在处理一个没有定义的变量时候会报错,所以在处理变量之前,我们先要判断下变量,判断的函数常用如下两个
例题:判断润年video
知识点:
1、 trim():去除数据两边的空格
2、 is_numeric():判断是否是数字或数字字符串
3、 is_int():是否是整型
4. $year+=0; //给一个数字字符串做加法,会自动转换为数字
3.多分支(elseif)
if (条件1){ } elseif (条件2){ } else{ }
自上而下执行。
else if 是嵌套if语句
4.多路判定(switch-case)
switch(表达式){ case 常量: 代码 case 常量: 代码
default:
代码
}
流程图:
PHP代码的执行过程
客户端向服务器端发送请求,服务器会解析PHP代码生成标准的HTML,将HTML代码发送到客户端,浏览器解析html代码生成我们看到的界面。
在光的世界里面,所有的颜色由R(red)G( green)B(blue),把每个颜色访问256等分,范围是0-255.由于通过10进制来表示颜色值会引起混淆,所以将十进制转成十六进制,255转成十六进制FF,这样颜色的十六进制范围是00FF。
#F0000红色 #50000红色 #009900绿色 #0000FF蓝色
#000000黑色 #FFFF白色 # CDCDCD灰色 #111111灰色
7.循环语句
1.for循环
for (初始值;条件;增量){ }
也可以多条语句组成表达式
如果条件语句有两条组成,后面条件结果把前面条件结果给覆盖了。
2.while循环
语法:
while (条件){ } 替代语法 while(条件): endwhile;
区别:
这三个循环可以相互代替
明确知道循环多少次首选for循环。
不知道循环多少次,一直循环到条件不成立为止,选 while和do-while
While先判断再执行,do- while先执行再判断。
关于死循环
for($i=1;$i<=10;$i--){ } //死循环 for($i=1;$i<=10;){ } //死循环 for($i=1;;$i++){ } //死循环,没有条件 没有法律约束的话,做什么事永远是正确的 for(;;){ } //经典的死循环 主要是没有条件。
3.foreach循环
作用:用来遍历数组
语法1: foreach(数组 as 值){ } 语法2: foreach(数组 as 键=>值){ }
获取数组的长度 count() sizeof()
1.5替代语法总结
PHP提供了替代语法,主要用于在PP代码和HM代码混编的时候使用,具有替换语法的语句有if、 switch、for、 while、 foreach,将左大括号变冒号,右大括号变 endXXX。
1.6 break和continue
break:中断循环
continue:跳出当前循环,进入下一个循环
注意:
默认 break中断是当前循环,如果想要中断多重循环,在break后面加上需要中断循环的层数。(break N)
问题:在什么情况下break和continue作用是一样的?
答:在循环体执行一次的时候。是一样的。
switch本质就是循环一次的循环。
1.7翻转数组
怎么交换a和b的值,引入一个暂存值。
13