PHP变量
变量声明
以美元符$
开头,然后是变量名,变量名是由字母、数字、下划线组成,变量名区分大小写
变量赋值
- 值赋值
- 引用赋值
$val_1 = 'hello world';
$val_2 = &$val_1; //$val_1和$val_2是同一个变量
PHP超全局变量
$_SERVER
服务器变量,$_GET
包含使用GET
方法传递的参数有关的信息,$_POST
包含使用GET
方法传递的参数有关的信息,$_COOKIE
,cookie
变量数组,$_FILES
与上传文件有关的变量数组……
PHP常量
常量:值不可变的量,分为系统常量和自定义常量
- 自定义常量通过
define()
函数定义
define(string $constant_name, mixed $value[, $case_sensitive = true])
常量名称即标识符,可不带美元符号,常量的值,第三个参数可选,指定是否大小写敏感,默认为false
- 系统常量,系统已经定义好的常量,常见的有
-
__FILE__
: php程序文件名。它可以帮助我们获取当前文件在服务器的物理位置 -
__LINE__
:php程序文件行数。它可以告诉我们,当前代码在第几行 -
PHP_VERSION
: 当前解析器的版本号。它可以告诉我们当前PHP解析器的版本号,我们可以提前知道我们的PHP代码是否可被该PHP解析器解析 -
PHP_OS
: 执行当前PHP版本的操作系统名称。它可以告诉我们服务器所用的操作系统名称,我们可以根据该操作系统优化我们的代码
-
PHP常量的取值
- 使用常量名
- 使用
constant()
函数
define("PI",3.14);
echo constant("PI");
判定常量是否被定义
使用defined()
函数判断,若存在返回true
,否则返回false
define("PI",3.14);
defined("PI"); //true
PHP数据类型
四种标量类型
- 布尔值,它不区分大小写,使用
echo
输出布尔型时,true
输出1,false
什么也不输出 - 整型,八进制前面加
0
,十六进制前面加0x
- 浮点型
- 字符串,单引号形式,双引号形式和Heredoc结构形式,双引号中的变量会被解析,单引号中的变量会当作字符处理
<!--Heredoc形式-->
$str = <<<GOD
this is string
hello world
GOD;
<<<
界定符,GOD
标识符(任意),开始,结束标志符必须一致,标识符前后不能有其他字符,否则会出项错误
两种特殊类型
- 资源:资源是由专门的函数来建立和使用的,例如打开文件、数据连接、图形画布
- NULL:空类型,对大小写不敏感。当被赋值为
null
,或者尚未被赋值,或者被unset()
,这三种情况下的变量被认为null
两种复合类型
- 数组
$arr = array("apple","orange","pear");
- 对象
与类型相关的函数
-
gettype()
返回变量类型,可能的值有
string,integer,float,boolean,array,object,null,unknow
-
is_type()
查看变量是否属于某种类型,是返回ture
$num = 15;
echo is_int($num); //1
-
var_dump()
输出变量的类型和值的详细信息
PHP运算符
- 算术运算符
+ , - , * , / , %
- 赋值运算符
=
-
&
引用赋值,连个变量指向同一个数据$a = &$b
- 比较运算符
< , > , == , === , ...
- 三元运算符
...?...:...
- 逻辑运算符
and , or , xor , && , || , !
与和或有两种不同形式的运算符,优先级不同(and,or低) - 连接符
.
- 错误控制运算符
@
将@
符号放置表达式之前,该表达式可能产生的任何错误信息都将被忽略掉,但是不会屏蔽解析错误的信息,不能把它放在函数或类的定义之前,也不能用于条件结构例如if和foreach等
PHP 流程控制语句
- 条件语句
if...else...
switch...case...
- 循环语句
while
do...while
for
-
foreach(arr as value) or foreach(arr as index => value)
常用于遍历数组,arr表示数组,index索引,value值
网友评论