很多基础知识与其他语言大体都相似,所以不再重复记录,直接记录关键部分。
目录
一、变量
预定义变量
可变变量
如果一个变量保存的值刚好是另一个变量的名字,那么可以直接通过访问一个变量得到另一个变量的值:在变量前面多加一个$符号。
二、数据类型
在PHP数据中分为三大类,八小类:
基本(简单)数据类型:4个小类
整型:int/integer,系统自动分配4个字节存储,表示整数类型。
浮点型:float/double,系统分配8个字节存储,表示小数或者整型存不下的整数。
字符串型:String,系统根据实际长度来分配,表示字符串(引号)。
布尔类型:bool/boolean,表示布尔类型,并且只有两个值ture/false。
复合数据类型:2个小类
对象数据类型:object,存放对象(面向对象)。
数组类型:array,存储多个数据(一次性)。
特殊数据类型:2个小类
资源类型:resource,存放资源数据(PHP外部数据,如数据库,文件)。
空类型:NULL,只有一个值那就是null(不能运算)。
三、文件包含
文件包含:在一个PHP脚本中,去将另一个文件(PHP文件)包含进来,去合作完成另外一件事情。
(1)文件包含的四种形式:
include:包含文件。
include_once:系统会自动判断文件包含过程中,是否已经包含过(一个文件最多被包含一次)。
require:与include相同。
require_once:与include_once相同。
(2)文件加载路径
文件在加载的时候需要指定文件路径才能保证PHP正确的找到对应的文件。
文件加载路径包含两大类:
1、绝对路径:
从磁盘的根目录开始(本地绝对路径)
Windows:盘符C:/路径/PHP文件
2、相对路径:
.|./:表示当前文件夹。
../:上级目录(当前文件夹的上一层文件夹)。
四、函数
4.1 函数作用域
在PHP中,全局变量在函数体内不能直接使用,而且函数体内的局部变量也不能在外部直接使用,使用一定的方法即可直接使用。
所以如果想在函数内部使用全局变量,并且在函数外部使用函数内部局部变量的话,就要使用这种方式,global关键字。
Global关键字:是一种在函数里面定义变量的一种方式。
本质形式:在函数的内部和外部,对一个同名变量(全局和局部)使用同一块内存地址保存数据,从而共同拥有。
基本语法:
Global 变量名;//不能赋值。
变量名=值;//修改。
其他常用函数及其用法可以参考PHP中文参考手册。
五、数组
1、特点
(1)可以整数下标或者字符串下标。
如果数组下标都为整数,则为索引数组。
如果数组下标都为字符串,则为关联数组。
(2)不同下标都可以混合存在,为混合数组。
(3)数组元素的顺序以放入顺序为准,跟下标无关。
(4)数组下标的自增长特性:从0开始自动增长,如果中间手动出现较大的,那么后面的自增长元素从最大的值+1开始。
(5)特殊值的下标自动转换
(6)PHP中数组元素没有类型限制。
(7)PHP中数组元素没有长度限制。
补充:PHP中的数组是很大的数据,所以存储位置是堆区,为当前数组分配一块连续的内存。
六、PHP与表单传值
1、接受数据
不管是$_GET/$_POST/$_REQUEST,三个都是PHP超全局(没有范围限制)预定义数组,表单元素的"name"属性的值作为数组的下标,而value属性对应的值就是数组的元素值。
(1)$_GET方式:接受GET方式提交的数据。
(2)$_POST方式:接受POST方式提交的数据。
(3)$_REQUEST方式:接受GET方式或者POST方式提交的数据。
$_REQUEST所存储的数据的内容:将$_POST和$_GET合并存储到一个数组,如果GET和POST中有同名数组元素(下标),POST会覆盖GET(PHP中数组元素下标具有唯一性),这个可以在php.ini中进行配置。
2、PHP处理复选框的数据
复选框:通常是将一类内容以同样的(同名的)形式传递给后台,数据库存储通常是一个字段存储。复选框特点:选中以后才会提交。
1、在浏览器端,checkbox的name属性的值不论什么都会被浏览器毫无保留的提交。
2、在Php中$_POST/$_GET都会对同名name进行覆盖。
解决方案:浏览器不识别[](浏览器不认为有特殊性),但是PHP认为[]在特殊性:系统自动认为该符号是数组的形式,所以PHP就会自动的将同名的但是带有[]的元素组合到一起形成一个数组。
(1)单选框:Radio button:可以出现多个选择项,但是只能选择其中一个。
1、表单中使用的name属性,使用同名即可:只能选一个。
2、后台接收数据不需要额外处理。
3、数据库存储的话只需要一个字段存储普通数据即可(数字或字符串)。
4、PHP拿到数据以后,组织SQL直接存储到数据表即可。
(2)多选按钮的数据处理
1、表单中name属性使用数组格式:名字[](一类复选框选择一个)。
2、后台接收到数据之后,是一个数组(数组不能分配到数据库)。
3、PHP需要将数组转换成指定格式的字符串:使用分隔符分割每一个元素且形成字符串,implode('分隔符',数组)。
4、PHP组织SQL直接存储到数据库。
5、如果是反过来操作,那么取出数据之后使用explode把字符串变成数组。
七、