php
流程结构
break 2
:后可接数字,表示跳出循环的级数;
运算符
a and b
: 将可能为false的值放在a的位置,以提高程序的运行速度;
a or b
将可能为true的值放在a的位置
例:a or ++a
自增的运算符优先级高于or
,一般考虑当a初始值为10 a
为true
的情况下,则运算后的结果a为11。实际上应为a
为true,
系统不对a进行自增,而是以结果为导向,a
并不会参加运算,实际上运算结束后其值为10。
HEREDOC
数据类型
变量
局部变量
定义在函数内部的变量为局部变量,局部变量不能在函数外部被访问,随着函数的结束而销毁
1 | function test(){ |
静态变量
static $a=1;
1 | function test(){ |
静态变量再函数结束执行后从不会立即销毁,再下次调用该函数时静态变量中存储的值仍然有效,且静态变量只再第一次执行时声明。
全局变量
php所有得全局变量都存在与一个叫做$GLOBALS的数组总通过变量名可以访问该全局变量,要在函数中访问全局变量需要使用global关键字声明。
1 |
|
常量
1 | define("SRATIC","aramndhe") //常量大写 |
预定义常量
函数
传参-应用传递与值传递
1 | $a=10; |
运算结束后$a
的值仍然为10,$b
的值为11。这就是php参数传递的两种不同模式,$a
为值传递,再函数执行时,将$a
的值复制一份到内存中生成一个新得值,此时函数中得$a
相当于一个局部变量,参与函数的运算,故函数中的运算并不会对$a
的原始值产生影响。而&$b
则指引用传递,再运算过程中$b
的相当于将其内存地址传到了函数中,此时$a
相当于全局变量,函数中对$b
的改变相当于对其本身值得改变。
不定长传参
1 | function test(){ |
func_get_vars,
运算结束后将答应输入的所有实参的值,用以实现函数的不定长参数。
1 | function test(){ |
func_get_var
函数中传入形参的索引编号,获取对应索引的值。上例将会打印12。
1 | function test(){ |
func_num_args
,获取自定义函数传入参数的数量。
可变函数
1 | function test(){ |
可变函数,将函数作为一个对象赋值给一个变量。
递归函数
函数内部自己调用自己的函数被称为递归函数。
1 |
|