1.数据类型
整体划分:
标量类型:int(整数类型),float(浮点类型),string(字符串类型),bool(布尔类型)
复合类型:array(数组类型),object(对象类型)
特殊类型:null(空类型),resouce(资源类型)
注意:1.浮点数不能直接比较大小 如果想比较只能考虑自己应用中的精确要求基础上,将其转换为整数
2.php中单引号和双引号字符串,是有不同细节含义的字符串
3.资源类型 基本上都是指对外部数据的引用
isset()判断一个变量是否存在
empty()判断一个数据是否为空
unset()销毁删除一个变量
is_xx类型()判断某个数据是否是某种类型
2.运算符
1.算术运算符 + - * / % ++ --
前++和后++的区别:前++:先完成变量的递增运算,再取得该变量的值参与别的运算。后++:先将原来的变量的值临时储存。再将变量值递增,最后再将临时储存的值参与别的运算
2.比较运算符 > >= < <= == != ===
3.逻辑运算符 && || ! 与 或 非
4.字符串运算符: . .=
5.赋值运算符 += -= *= %= .=
6.三目运算符 数据1 ? 数据2 : 数据3
数据1的结果是布尔值 返回true 或 false 是true就执行数据2 false就执行数据3
3.流程控制语句
if、for、switch、while、do while
循环的中断:
break: 终止整个循环跳出循环进入后面的语句
continue:终止当前正在执行的循环语句中,而进入到循环的下一个过程(改变,判断)
控制脚本进度: die(‘输入内容’)
sleep(): 让php脚本停止多少秒显示
4.数组
1.数组包括元素、下标、数组长度
2.数组的下标可以是整数或字符串
3. 数组元素的顺序不是由下标决定的 而是由加入的顺序决定的
4. 定义一个数组:$attr = array();
5.数组的长度:$len = count($attr)
6.数组的分类
从键值关系:
1.关联数组:通常是指下标为字符串,并且该字符串大体可以表达出数据的含义的数组。
2.索引数组:通常是指一个数组的下标是严格的从0开始的连续的数字下标——跟js数组一样。
从数组层次来分:
一维数组:就是一个数组中的每一个元素值,都是一个普通值(非数组值)
二维数组 :一个数组中的每一项,又是一个一维数组。
多维数组:依此类推。。。
7.数组的遍历:foreach
foreach($数组名 as $k =>$v){
执行语句;
}
8. 数组的查找:
就是从一个数组中找一个元素的数据(可能是找下标,也可以是找数据值)
1.顺序查找:从一个数组中按顺序找出一个元素(下标或值)
2.二分查找: 前提:针对一个已经进行了排序的数组(即里面的数据已经是有序了)是连续的索引数组,比如下标为:0, 1, 2, 3, ......
数组对折取中间数比较 如果大于中间数改成结尾 在对折比较 如果小于把中间数改成开头 在对折比较
5.函数:
1.定义形式: function 函数名 (形参1,形参2,.... ){
//函数体(代码块)
}
2.函数的调用形式:
1.没有返回值的函数,则调用语句是独立语句:函数名(实参1,实参2, .... );
2.有返回值的函数,则调用语句,通常会“混杂”在别的语句中,并将要将该调用语句当作一个“数据”来使用:
3.形参:
1.形参一定是一个变量名!
2.该变量名只能是在该函数中有效的变量名;
3.而且只在该函数调用并执行时有效,函数结束,通常这些变量也就“销毁”。
4.实参:
1.实参可以是一个“直接数据”(比如5,”abc”),也可以是一个变量中存储的数据。
2.实参的作用是将其数据“赋值给”形参变量。
3.实参跟形参之间通常是“一 一对应”的
5.函数的参数传值:
1.如果实参本身就是“直接数据”,则不存在传值问题,而是简单的“赋值”。
2.如果某个形参设定为引用传递,此时,实参只能使用变量,
6.参数的数量问题:
1.函数的参数的数量可以是0个或多个——具体多少个,不是语法问题,而是应用问题
2.通常,实际参数的数量应该跟形式参是的数量一致
3.但是,在2的基础上,如果形式参是中有默认值,则实际参数的对应项可以省略。
即:实参的个数,至少应该不少于形参中的非默认值参数的个数。
但:
我们还有一种特殊的处理函数参数的用法:自由参数数量
定义时可以不给定形参,但调用时,却又可以给定任何个数的实参。
在系统中,var_dump()这个函数也有同样的使用效果:
var_dump($v1);
var_dump($v1, $v2, $v3); //也可以
这种应用的实现,是依赖与系统中的3个系统函数来达到的:
func_get_args(); //获得一个函数所接收到的所有实参数据,并结果是一个数组
func_get_arg(n); //获得一个函数所接收到的第n歌实参数据(n从0开始)
func_num_args(); //获得一个函数所接收到的所有实参数据的个数
7.函数的返回值 : return
结束函数。以值传递的方式返回一个数据(直接数据,变量数据,表达式结果数据)。