合法的常量名以字母或下划线开始,后面跟着任何字母,数字或下划线
常量默认为大小写敏感。按照惯例常量标识符总是大写的
常量的定义:define( )
常量分为:内置常量和自定义常量
常量只能包含标量数据(boolean,integer,float 和string)
内置常量
¨ PHP_OS:显示服务器的操作系统版本
¨ PHP_VERSION:显示PHP版本
¨ __FILE__:PHP文件绝对路径
¨ __LINE__:PHP文件的当前行号
¨ TRUE/FALSE:表示真假的常量
¨ E_ERROR:指明了代码中最近的错误处
¨ E_WARNING:指明了代码中最近的警告处
¨ E_NOTICE:为发生不寻常但不一定是错误的地方
自定义常量
¨define('NAME', 'php');
变量
¨PHP是一种弱类型语言
¨变量的类型是根据该变量使用的上下文在运行时(即变量的值)决定的
变量
¨定义:$变量名
¨一个有效的变量名由字母或者下划线开头,后面跟上任意数量的字母,数字,或者下划线
<?php
$name = “Tom”;
isset($name);
unset($name);
echo $name;
?>
引用
¨&
可变变量
¨可变变量是一个普通变量的值作为这个可变变量的变量名
<?php
$a = “hello”;
$$a = “world”;
echo "$a ${$a}";
echo "$a $hello";
?>
数据类型(PHP 支持八种原始类型)
¨四种标量类型:
布尔型(bool, boolean)
整型(int, integer)
浮点型(float, double, real)
字符串(string)
¨两种复合类型:
数组(array)
对象(object)
¨两种特殊类型:
资源(resource)
NULL
布尔型
¨当其他类型转换为boolean类型时,以下值被认为是
false:
布尔值false
整型值0(零)
浮点型值0.0(零)
空白字符串和字符串"0"
没有成员变量的数组
没有单元的对象(仅适用于PHP 4)
特殊类型NULL(包括尚未设定的变量)
¨所有其它值都被认为是true(包括任何资源)。
整型
¨整型值可以是十进制,十六进制或八进制
浮点型
<?php
$a = 1.234;
$a = 1.2e3;
$a = 7E-10;
?>
字符串
数组(Array)
¨一个标量只能存放一个数据, 而数组可以存放多个数据。
¨$my=array(‘1’,‘2’,‘abc’,‘d’);
对象(Object)
¨对象是一种高级的数据类型
资源(Resource)
¨资源是一种特殊的数据类型,由专门的函数来建立和使用的¨如打开文件、数据库连接等
NULL
¨被赋值为NULL
¨尚未被赋值
¨被unset()
类型转换
¨1.数字
整数转化为浮点型:自动转换。
浮点型转化为整型:强制转换。
¨2.布尔型与null
一个布尔型变量可以转化为整型null值转为字符串, 为空字符“”
3.字符串
字符串可以转化为数字。转化后的数字是从字符串开始部分的数值型字符串
数组和对象转化为字符串,结果将是”Array”和”Object”
资源型数据转化为字符串。(Resource id#1)
4.数组
将一个布尔值、数字或字符串转化为数组型数据,
将得到一个以上述类型数据元素的数组
将null转化为数组,会得到一个空数组
类型强制转换
¨(int), (integer) - 转换成整型
¨(bool), (boolean) – 转换成布尔型
¨(float), (double), (real) - 转换成浮点型
¨(string) - 转换成字符串
¨(array) - 转换成数组
¨(object) – 转换成对象
强制类型转换函数
¨intval() // 转换整型
¨floatval() // 转换浮点型
¨strval() // 转换字符串
外部变量
¨表单数据,环境变量保存在一种特殊的全局数
组中,即外部变量
¨表单数据
$_POST[“name”];
$_GET[“name”];
$_REQUEST[“name”];
print_r($_POST);
环境变量
$_ENV
$_SERVER
变量的常用函数
¨var_dump()
¨isset() / unset()
¨gettype ()
¨is_xxxtype():
格式:is_int()、is_string()、is_null()
¨settype(mixed var, string type)
算术运算符
¨+、-、*、/、%
¨++、--
n 比较运算符
¨==、===(值等,类型相同)、!=、<>、!==、>=、
>、<=、<
¨? :
逻辑运算符
¨and、&&、or、||、!
n 位运算符
¨&、|、~、<<、>>、xor、^
n 其他运算符
¨.、.=
¨@
运算符的优先级
¨&&、and
¨||、or