一:php基础语法:
1.1PHP标识符
(1)标准标识符
语法:
说明:PHP语言自己的标识符,推荐使用,如果当前PHP标识符里面只有PHP代码,结束的标识符
(2)短标签风格
语法: code ;?>
说明:这种风格的方法是默认不开启的,需要在php.ini中开启此功能,所以不推荐使用;
(3)script风格:
语法:
说明:模仿jsp风格
案例:
(4)ASP风格
语法:<% code;%>
说明:这种风格的方法默认是不能使用的,需要到php.ini中开启此功能,不推荐使用
1.2PHP分割指令—(分号)
说明:在PHP语言中语句分为两大类,一种是控制型语句,这种语句只是定义当前代码是如何运行的方法,如:流程语句控制,定义函数,定义类等,所以这种控制语句是不写分号结束的;另一种是功能语句,如:变量的声明,输出,调用函数,声对象等,只要是功能语句必须使用分号结束。
1.3php程序注释
说明:注释是可以对当前文件或者当前代码某些代码进行说明的方式,也可以在调试代码时使用,把某些代码直接注释掉而不是删除
注释分为两类:单行注释,多行注释
多行注释
1.4.HTML和php的混合模式
说明:PHP的代码 是不能写入HTML中,需要PHP的标示符隔开,PHP代码只能在PHP文件中执行,不能写到其他语言文件中,HTML代码可以写到php文件中,直接写入PHP文件中的方式不再推荐使用,可以使用引入的方式把HTML文件引入PHP文件中来执行;
第二章:PHP变量
2.1:变量的介绍
说明:可以存储变化的量(数据)的空间,可以变化的量是通过上下文来决定,所以称为“弱类型语言”
2.2变量的声明:
说明:变量的声明是有“ ” 来 进 行 定 义 的 声 明 的 , 在 内 存 需 要 定 义 变 量 并 赋 值 语 法 : ”来进行定义的声明的,在内存需要定义变量并赋值 语法: ”来进行定义的声明的,在内存需要定义变量并赋值语法:变量名 = 量;
注意:变量名是数字(0-9),字母(a-z,A-Z),下划线组成的且不能以数字开头的定义方式
以后变量名必须是见名知意的定义方式
可变变量:
说明:可以把某个变量的追当成另外一个变量的名来使用,这个时候的好处就是减少变量的定义,节省内存空间
案例:
2.4.变量的传值方式
值传递:
说明:把一个变量的值”复制“一份,然后再赋值给另外一个变量,这个时候的量变量是没有任何关系的;
引用传递
说明:把一个变量的值的空间地址给另一个变量,这个时候两个变量公用一个数据空间,指向同一个地址,这个的两个变量值是有关系的
2.5.变量的范围
说明:在PHP中变量分为三种访问的方式全局变量,局部变量,静态变量
全局变量:在 函数外定义的变量的就称为”全局变量“,正常情况只能在函数外使用;
局部变量:在函数内部定义的变量,正常情况下只能在函数内部使用
静态变量:
说明:正常情况下,变量是在运行完当前页面后进行销毁的(PHP自己的特性),如果不想销毁,可以使用静态的变量
全局变量转局部,局部转全局
说明:局部变量可以在函数内声明为全局变量,这个时候就可以在函数外使用,声明方式:global
2.6变量常用的5个函数
Isset():判断变量是否存在
Unset:删除或销毁变量:
Empty:判断变量是否为空
Echo 输出打印值:不能输出复合和特殊类型的值
var_dump():输出打印值,类型,长度,打印复合或特殊类型的值
第三章 预定义变量
说明:就是PHP系统内置的提供使用的变量,这个变量一般都是超全局变量,超全局的说明就是没有作用域限制,有的还可以跨页面
3.1:$GLOBALS
说明:GLOBALS是PHP内置的可以字段获取当前页面中所以的内容
3.2:_SERVER
说明:_SERVER会自动获取服务器和客户端的信息
3.3:$_FILES
说明: 获取上传文件信息
3.4_GET:url方式传递数据
说明:其实就是浏览器的地址栏传递方式
传递方式:URL地址?参数1=值1&参数2=值2…
传递形式:表单的get方式和超链接方式
3.5$_POST HTTP POST方式传递数据
说明:通过HTTP协议的post方式来传递数据
传递方式:表的post方式或ajax
3.6_REQUEST
第四章:常量
说明:常量一旦定义,里面的值和常量是不能改变和销毁的,而且常量不能重复。
4.1常量的定义
语法:define(常量名,常量值);不能定义复合数据,常量名建议大写
5.6PHP版本:conet来定义复合的数据,如数组
7.0php版本:define可以定义复合的数据,如:数组
案例:
4.2访问常量
说明:直接使用常量名
使用:在网站的配置文件中使用。如:当前网站的路径
第五章 数据类型
说明:就是php能存储数据格式,PHP提供8种数据类型
标量类型:int float string boolean
复合类型:array object
特殊类型:null resource
在文档里提供的类型:
字符串:string
说明:字符串类型就是把任何的数据加上引号(单引号和双引号)就是字符串了 如:$name=’admin’; n a m e = ” a d m i n ” ; 单 引 号 : 语 法 : 加 上 英 文 状 态 下 的 单 引 号 , ‘ 字 符 ’ 双 引 号 : 语 法 : 加 上 英 文 状 态 下 的 双 引 号 , “ 字 符 ” 区 别 : 1. 双 引 号 可 以 解 析 变 量 如 : name=”admin”; 单引号: 语法 :加上英文状态下的单引号,‘字符’ 双引号: 语法:加上英文状态下的双引号,“字符” 区别:1.双引号可以解析变量如: name=”admin”;单引号:语法:加上英文状态下的单引号,‘字符’双引号:语法:加上英文状态下的双引号,“字符”区别:1.双引号可以解析变量如:name=”admin”;
2.单引号不能解析变量
3.转义字符的多少:双引号转义字符多,单引号只有两个
双引号的转义字符
单引号的转义字符:
只有‘’和\
HEREDOC:
说明:双引号的定界符写法
语法:
$str=<<<定界符
大量的代码(html,css,javascript,php)
定界符:当前字符串的开始符号,这个符号用大写的字母,这个字母是自定义的,开始定界符后面不能
Nowdoc:
说明:单引号的定界符写法
语法:
$str=<<<’定界符’
大量代码;
定界符;
5.2.字符串的常用函数:
字符串分解和合并
说明:在PHP中提供了两个函数可以对字符串进行”拆分“和”组合“,作用是如多选框有多个值
Explode:
Implode:把一维数组转换成多维
去除字符串的空格:
Ltrim():去除字符串左边的空白字符
Rtrim():去除字符串右边的空白字符
Trim():去除字符串两边的空白字符
子字符串的查找替换str_replacce
Substr:字符串截取
5.3数据类型:(int)
说明:是负数和0和整数的集合;在PHP存储整数为10进制,八进制,十六进制;
语法:$var=整数数字;
八进制的写法:在数字之前加0,就是八进制,数字是0-7;
十六进制的写法:在数字前面加0X,数字为0-f 0123456789abcdef
十进制的写法:直接写数字类型,数字为0123456789
二进制:0和1;
PHP最大的存储数值为:21亿 PHP_INT_MAX
PHP最大位数:14位,一个数值占多少位置:PHP_INT_SIZE
5.4浮点型–float
小数浮点型(也叫浮点数float,双精度double或试述real)
5.5布尔类型–Boolean
说明:在PHP中布尔型的数据只有两个值:true 和 false;
布尔值一般都用于返回的结果用于流程控制语句中
5.6:数组—array
说明:一组数据的集合,就是数组
$变量 = array(元素,元素,元素…);
5.7对象—object
说明:世间万物皆为对象;
在php中的对象是由类创建来的
如:女娲造人—泥巴
类:摸具
Class people{
//属性
$name;
$sex;
$age;
$header;
//方法—行为
Function walk(){
Echo ‘走’;
}
}
//创建对象
$zs = new people();
$zs->name = ‘张三’;
$zs->age=2;
$zs->sex=’女’;;
$zs->walk();
5.8空–null
说明:特殊的null值表示一个变量没有值,null类型唯一可能的值就是null
在PHP中只能有定义变量并赋值的情况,没有只定义不赋值
5.9资源—resource
说明:引用PHP外部的内容,这个时候的类型就是资源,资源是通过专门的函数来建立和使用的
5.10手册中的类型–用于说明需要某种类型的数据
Mixed:mixed 说明一个参数可以接受多种不同的(但不一定是所有的)类型,如果函数需要的形参是两种以上,都会用mixed;
Number:可以是int 型和float型;
Void:作为返回类型意味着函数的返回值是无用的,void作为参数列表意味着函数不接受任何参数
5.11:数据类型的转换
说明:在PHP中数据类型是可以进行互相转换,如:整型1转换成字符串1;
在PHP中分为自动转换和强制转换
自动转换:给到特定的写法就会改变原来的类型
强制转换:可以使用一些特殊的方式来强制性改变类型
第六章:运算符
说明:对操作数进行运算的符号,就是运算符。
表达式:表达式就是php最重要的基石,在PHP中,几乎所写的任何东西都是一个表达式,简单但却最精确定义一个表达式的方式就是”任何有值的东西“。
如:$a=5; $a=5+3;
6.1算术运算符:
说明:是+ - * %
6.2赋值运算符(=)
说明:就是给变量赋值的作用。
6.3比较运算符:
说明:对操作数进行比较,< <= > >= == != ===,比较运算符的结果是有真(true)和假(false);
6.4错误控制符
说明:@,目的屏蔽一些不重要错误
作用:所有的网站不可能没有bug的时候上线
6.5执行运算符
说明:``,把数据用反引号括起来,就是执行了
6.6递增递减运算符
说明:自己加一和自己减一
如果某个变量++或——后,不再赋值给另一个变量,这个时候前加和后继啊是没有任何区别的
如果某个变量++或–后,再赋值给另一个变量赋值,这个时候的前和后是有区别的
后:先赋值再操作;
前:先操作再赋值。
6.7逻辑运算符
说明:逻辑运算符也叫短路运算符,只判断一边如果达成条件直接结束给结果
逻辑或:||
当两边的操作数其中一边为真,结果为真;
当两边的操作数都为假时才为假
当左边的操作数为假时,才去右边判断操作数,如果为真,结果为真,如果为假,结果为假
逻辑与&&
当两边的操作数其中一边为假时结果为假,
当两边的操作数都为真时,结果为真
当左边操作数为假时,结果为假
逻辑非:!
说明:取反,非真即假,非假即真
6.8字符串链接符:
说明:通过(.)或(.=)进行字符串的拼接
案例:
6.9位运算符:
说明:作为了解的东西,就是对位进行操作,位说的是二进制的每个“位”,二进制共有32位 ,位:由1和0构成
&:按位与
1&1=---------------1
1&0=----------------0
0&1=----------------0
0&0=----------------0
|:按位或
1|1=---------------1
1|0=----------------1
0|1=----------------1
0|0=----------------0
~:按位非
~1=--------0
~0=--------1
^:按位异或
1^0=-------1
0^1=-------1
其他情况为0;
<<:按位左移
移动的位数:5 <<3
5这个数移动3位,前面的可以认为删除,后面用0补齐001—>001000
:按位右移
移动的位数:5 >>3
5这个数移动3位,后面的可以认为删除,前面面用0补齐001—>000001
注意:位运算都是对整数操作,操作的都是10进制,只不过CPU以二进制运算
1.二进制:
说明:二进制由0和1构成的一个32位的数字,逢二进一;
二进制:00000000 00000000 00000000 000000000和11111111 11111111 11111111 11111111
10进制的5,对应的二进制:00000000 00000000 00000000 00000101
十进制和二进制的转换:
十进制转2进制, 对于整数部分,用被除数反复除以2,除第一次外,每次除以2均取前一次的整数部分作为被除数并依次记下每次的余数,另外,所得到的商用最后一位余数是所求二进制的最高位
二进制转换为10进制:进制数第0位的权值是2的0次方,第一位的权值是2的1次方,第2位的权值是2 的2次方,公式:第N位*2 的N次方
111011---->120+1*22+023+1*24+1*25+1*26=59
2.原码,补码,反码
说明:在计算机中CPU操作的是反码,原因就是因为整数分负数和整数
二进制的最大位:0是整数,1是负数
(1)正数的三码:都一样,跟原码相同
例:5的原码:00000000 00000000 00000000 00000101
5的原码:00000000 00000000 00000000 00000101
5的原码:00000000 00000000 00000000 00000101
(2)负数的补码是按位取反,符号位不变,补码就是反码加1
-3的原码:100000000 00000000 00000000 00000011
-3的反码:111111111 11111111 11111111 11111100
-3的补码:111111111 11111111 11111111 11111101
两个数相与,只有相同的时候才为1
$a & $b
10 $ 20
10的补码:00000000 00000000 00000000 00001010
20的补码:00000000 00000000 00000000 00010100
结果:00000000 00000000 00000000 00000000
两个数相或,只要有一个为1,结果为1
$a & $b
10 $ 20
10的补码:00000000 00000000 00000000 00001010
20的补码:00000000 00000000 00000000 00010100
结果:00000000 00000000 00000000 00011110
~ -$a;
如:
~ -3;
原码:100000000 00000000 00000000 00000011
反码:111111111 11111111 11111111 11111100
补码:111111111 11111111 11111111 11111101
取反:100000000 00000000 00000000 00000010 //-2是将补码符号位不变,取反
反码:111111111 11111111 11111111 11111101
原码:00000000 00000000 00000000 00000010//此时全部取反