phpinfo(); 一个函数、功能 ,会显示一个当前电脑(服务器)的详细的PHP信息
echo PHP_EOL; // 换行符
PHP中的变量特点:
1.必须要以$开始。如变量x必须要写成$x
2.变量的首字母不能以数字开始
3.变量的名字区分大小写
4.变量不要用特殊符号、中文,_不算特殊符号
5.变量命名要有意义(别写xxx,aaa,ccc这种 变量名)
双引号需要解析变量,因此双引号的效率没有单引号高。为了更高的效率,我们通常使用单引号。
双引号执行转义字符而单引号不执行转义字符。
可以用(.)点,来拼接多个字符串
var_dump() 是一个函数。向括号()中间插入变量。这个函数,会打印出来数据类型,还会对应显示变量的长度和值。
字符串中一个英文字母占一个字符,一个中文字符占3个字符。
empty()可以向括号中间传入一个变量。这个变量的值如果为false或者为null的话,返回true。
isset()可以向括号中间传入一个或者多个变量,变量与变量间用逗号分开。只要有有一个变量为null,则返回false。否则,则返 回true。
unset()这个函数的功能是毁掉变量。unset(变量)括号中间插入想要毁掉的变量名,这个变量就会被毁掉。
查看数据类型
· gettype(传入一个变量) 能够获得变量的类型
· var_dump(传入一个变量) 输出变类型和值
判断数据类型
我们使用is_* 系列函数。 is_types这一系列的函数,来进行判断某个东西是不是某个类型。如果是这个类型返回真,不是这个类型返回假。
is_int 是否为整型
is_bool 是否为布尔
is_float 是否是浮点
is_string 是否是字符串
is_array 是否是数组
is_object 是否是对象
is_null 是否为空
is_resource 是否为资源
is_scalar 是否为标量
is_numeric 是否为数值类型
is_callable 是否为函数
变量:整型(int) 浮点(float)、布尔(bool)、字符串(string)
混合类型: 数组(array)、对象(object)
特殊类型:空(null)、 资源(resouce)、回调(callback)
布尔值的自动类型转换
自动类型转换,就是数据类型在某些情况下,自动会变为其他的类型参与运算。自动类型转换的发生时机是:运算和判断的时候某些值会自动进行转换。
下面的情况是布尔值判断时的自动类型转换:
1,整型的0为假,其他整型值全为真
2, 浮点的0.0,布尔值的假。小数点后只要有一个非零的数值即为真。
3,空字符串为假,只要里面有一个空格都算真。
4,字符串的0,也将其看作是假。其他的都为真
5,空数组也将其视为假,只要里面有一个值,就为真。
6,空也为假
7, 未声明成功的资源也为假
强制类型转换
强制类型转换有三种方式:
1.用后面的三个函数可以完成类型转换,intval()--整型、floatval()--浮点型、strval()--字符串 例如:$result = intval($float);
2.变量前加上()里面写上类型,将它转换后赋值给其他变量 例:$jieguo = (int)$transfer;
3.settype(变量,类型) 直接改变量本身 例:settype($fo,'int');
强制类型转换时的特点
1.空转为整型会为整型的0
2.空转为浮点会为浮点的0
3.空转为字符串会为空字符串‘’
4.浮点的123.0转为字符串会为字符串123
5.浮点的123.2转为字符串会为字符串的123.2
6.浮点即使小数点再大,它都会被干掉,会舍掉小数点后面的值
7.如果字符串转为整型的时候,如果数值在前面,会将前面的数值拿出来做为整型的转换值。
8.settype(变量,'null'); 等价于 unset()一个变量
9.$目标变量 = (类型)$操作变量 只会改变目标变量的类型,不会改变原变量的类型,Settype是改变原值
php常量和变量之用常量限制用户跳过某些文件
常量在代码中的定义、书写方式:
define(常量名,常量值)
注:
1.常量值只能为上一章中我们讲到的标量。
2.常量名可以小写,但是通常大写
3.常量名可以不加引号,但是通常加上引号。
4.在字符串中调用常量的时候,必须在引号外面
5.常量名建议只用字母和下划线
常用内置常量
defined()函数来做安全机制
defined()主是是为了防止其他人绕过安全检查文件
函数:defined(常量)
功能:向函数的括号后面传入常量,如果常量定义了就返回true,否则返回false
函数:include(‘传入文件路径和文件名’)
功能:这个函数的功能是传入指定路径的文件,让PHP包含进来执行
PHP接收数据
php环境变量
URI 和URL都是网址,但是URL带有了主机地址部份,而URI不带主机地址部份和(http://)