变量
PHP是一种动态网站开发的脚本语言,动态语言的特点是交互性,会有数据的传递,PHP作为中间人,需要进行数据的传递,传递的前提就是PHP能自己存储数据(临时的存储)
变量的使用
- 定义:在系统中增加对应的变量名字
- 赋值:可以将数据赋值给变量名
- 可以通过变量名访问存储的数据
- 可以将变量从内存中删除
定义变量:
$var[=?];
删除变量:
unset($var)
预定义变量
提前定义的变量,系统定义的变量,存储许多需要用到的数据(预定义变量都是数组)
$_GET:获取表单以get方式提交的数据
$_POST:POST提交的数据都会保存在此
$_REQUEST:GET和POST提交的都会保存
$GLOBALS:PHP中所有的全局变量
$_SERVER:服务器信息
$_SESSION:session会话数据
$_COOKIE:cookie会话数据
$_ENV:环境信息
$_FILES:用户上传的文件信息
可变变量
如果一个变量保存的值是另一个变量的名字,那么可以直接通过访问一个变量得到另一个变量的值
变量传值
将一个变量赋值给另外一个变量
值传递(值相同,地址不同)、引用传递(地址相同)
常量
定义:
define('名',值,[大小写敏感与否,默认否])
const 名 = 值
针对特殊名字的常量访问:
需要用到函数constant('常量名')
系统常量
系统帮助用户定义的常量,用户可以直接使用
常用的系统常量:
PHP_VERSION:PHP版本号
PHP_INT_SIZE:整形大小
PHP_INT_MAX:整形能表示的最大值(PHP中整形是允许出现负数的)
系统魔术常量(随环境改变,用户无法改变):
__DIR__:当前被执行的脚本所在电脑的路径
__FILE__:当前被执行的脚本所在的电脑的绝对路径
__LINE__:当前所属的行数
__NAMESPACE__:当前所属的命名空间
__CLASS__:当前所属的类
__METHOD__:当前所属的方法
数据类型
data type,在PHP中指的是存储的数据本身的类型,而不是变量的类型。PHP是一种弱类型语言,变量本身没有数据类型。
PHP的八种数据类型
三大类八小类:
简单(基本)数据类型:4个小类
整形:int/integer
浮点型:float/doble
字符串型:string
布尔类型:bool/boolean
复合型数据类型:2个小类
对象类型:object,存放对象
数组类型:array,存储多个数据
特殊数据类型:2个小类
资源类型:resource,存放资源数据
空类型:NULL
伪类型:
mixed:混合的,可以是多种PHP类型
number:数值的,只能是数值型
类型转换:
在很多的条件下,需要制定的数据类型,需要外部数据(当前PHP取得的数据),转换成目标数据类型
在PHP中有两种类型转换的方式:
1、自动转换:系统根据需求自己判定,自己转换
2、强制转换:人为根据需要进行转换
(用的多的是转布尔类型和转数值类型)
字符型转数值,如果首个字符为字母,那么就转换成0;如果首个字符为数字,那么截取到第一个字母出现为止。
类型判断:
通过一组类型函数,来判断变量,最终返回这个变量所保存数据的数据类型:is_变量名(相同返回true,不同返回false)
Gettype(变量名):获取类型,得到的是该类型对应的字符串
Settype(变量名):设定数据类型
强制数据转换:不改变数据本身
settype函数:改变数据本身
var_dump()
Isset()判断是否定义
Empty()判空
运算符
比较运算符:
===全等于,左边与右边的大小以及数据的类型都要相同
!==不全等于
连接运算符:
.:将两个字符串连接到一起
.=:复合运算,将左边的内容与右边的内容连接起来,然后重新赋值给左边的变量
常用系统函数:
print():类似于echo输出提供的内容,本质是一种结构,返回1,可以不用括号
print_r():输出变量的值
date():按照格式对对应的时间戳进行转换
time():获取当前时间对应的时间戳
microtime():获取微秒时间
max():返回指定参数中的最大值
min():返回参数中的小的值
rand():返回一个指定区间的随机数值
mt_rand():与rand一样
round():四舍五入
cell():向上取整
floor():向下取整
pow():求指定数字的指定指数次结果
abs():绝对值
sqrt():求平方根
function_exists():判断指定函数是否存在
func_get_arg():在自定义函数中去获取指定数值对应的参数
func_get_args():在自定义函数中去获取所有参数(数组)
func_num_args():获取当前自定义函数的参数数量
文件加载原理:
1、在文件加载的时候(include、require),系统会自动的将被包含文件中的代码嵌入到当前文件中
2、加载位置就在引用的位置
3、PHP中被包含的文件是单独进行编译的
include和include_once的区别:
include被发现一次就执行一次,如果对同一个文件多次加载,那么也会多次执行
include_once:对同一个文件只执行一次
require和include的区别:
在文件为空的时候,报错不同。include在找不到文件的时候只会爆出warning,require会爆出error
函数
关键字:
function
基本语法:
function 函数名(){}
可变函数:
将函数名赋值给变量(用于回调)
$变量=函数名
匿名函数:
没有名字的函数
$变量名=function(){}
闭包:
闭包来源于下面两者的结合:要执行的代码块(由于自由变量被包含在代码块中,这些自由变量以及它们引用的对象没有被释放)和为自由变量提供绑定的计算环境(作用域)
也就是函数内部有一些局部变量在函数执行之后没有被释放
|