PHP简介
概念:一种服务器端的html脚本语言是一种简单的,面向对象的,解释型的,健壮的,安全地,性能非常之高的动态脚本语言,可以嵌入到html中
变量
定义变量:使用$符号
变量的输出 使用echo, 输出多个时可以使用逗号隔开 最后加结束符
变量的删除:unset(变量的名字);
预定义变量(提前定义的变量,是系统自己定义的变量,都是以数组的形式存储的)
$_GET 获取所有已get方式提交的数据
$_POST 获取所有以post方式提交的数据
$_REQUSET get 和post提交的数据都会保存
$_GLOBALS php中所有的全局变量
$_SERVAR 服务器信息
$_SESSION session会话数据
$_COOKIE cookie会话数据
$_ENV 环境信息
$_FILES 用户上传的文件信息
可变变量
如果一个变量保存的值刚好是另一个变量的名字,那么
直接可以通过放问一个变量得到另一个变量的值;
在变量面前多加一个$符号;
$a=b;
$b=bb;
$$a=bb;
变量传值
将一个变量给另一个变量叫变量传值
值传递:将变量保存的值复制一份,然后将新的值给另一个变量保存(两个变量没有关系)
引用传递:将变量保存的值在内存中的地址,传递给另一个变量,两个变量指向同一块内存,(一个改变另一个也会改变)
常量
常量:const/constant,在一段程序运行当中不可改变的量(数据)
定义常量的两种方式(在5.3之后才有两种),定义时直接赋值;
1使用定义常量的函数 define(“常量名”,常量值)
2 5.3之后才有的 const 常量名=常量值;
特殊常量的访问使用constont访问
echo constant(常量名);
常量的命名顾规则:
1不可以使用$,一旦使用系统就会以为是变量
2不能以数字开头
3.常量命名一般以大写为主;$_****
4.定义一些特殊的常量,只能使用define定义;
变量与常量的使用
变量可以释放 常量不可以释放,汇总一直占用空间
数据不允许被修改时使用常量;
系统常量
PHP_VERSION PHp版本号
PHP_INT_SIZE 整形大小
PHP_INT_MAX 整形可以表示的最大值(整形是允许出现负数的)
魔术常量
在php中还有一些特殊的常量,以双下划线+常量名+双下划线结束,这种变量叫魔术变量,魔术变量的值通常跟着环境变化,但用户改变不了,比如
__DIR__ 当前被执行的脚本在电脑的绝对路径
__FILE__ 当前被执行的脚本在电脑的绝对路径(带自己的文件名)
__LINE__ 当前所属的行
__NAMESPACE__ 当前所属的命名空间
__CLASS__ 当前所属的类
__METHOD__ 当前所属的方法
数据类型
在php中指存储的数据本身的类型,而不是变量的类型,php是一种弱类型语言,变量本身没有数据类型;
php中的八种数据类型
数据分为三大类,八小类
1简单(基本)数据类型(四小类)
整形 int/intiger.系统分配4个字节存储,最大是32位,表示整数类型(有一个前提),
定义方式(四种):十进制定义,二进制定义,八进制定义,十六进制定义
浮点型 float/double 系统分配8个字节存储,表示小数或整形存不下的
字符串型,string 系统根据实际长度分配,表示字符串
布尔类型bool/boolean
2复合型数据类型
对象类型:object 存放对象
数组类型 array 存储多个数据
3.特殊数据类型
资源类型 resource 存放资源数据(php外部数据如数据库资源 ,文件)
空类型 null 只有一个值就是null,(不能运算)
类型转换(在php中有两种转换方式)
1自动转换;系统根据需求自己判定,自己转换(用的比较多,效率偏低)
2强制(手动)转换;人为根据需要的类型转换
强制转换规则:在变量之前加();然后在里面写上对应的类型,如果要转为nul类型要用unset();
在转换过程中用的比较多的就是布尔类型转换(判断)和数值类型转换(算数运算)
字符串转数值有自己的规则;以字母开头的永远为0,以数字开头的,碰到字符串为止(不会同时包含两个小数点)
数据类型的判断
通过一组类型判断函数,来判断变量,最终返回这个变量所保存的数据的数据类型
是一组以is_开头后面跟类型名字的函数
语法 is_要判断的类型(要判断的变量名);//返回true或false
布尔类型不能使用echo来查看 可以使用var_dump()结构查看
还有一组函数可以用来获取以及设定变量的类型
Gettype(变量名) 获取类型 得到该类型对应的字符串
Settype(变量名,要设置的数据类型) ;设置数据类型与强制转换不同
强制转换 是对数据值复制的内容进行处理(不会处理实际存储的内容)
settype会直接改变数据本身;