变量的作用域问题
作用域,就是一个变量的“有效”(可用)的范围;
有3种作用域,也分别对应3种不同作用域的变量:
1, 局部作用域,局部变量:
其实就是指一个函数的内部;
局部作用域有“多个”,因为每个函数内部都是一个局部作用域;
局部变量:就是在一个局部作用于中定义的变量。它只能在该局部作用域中使用。
2,全局作用域,全局变量:
其实就是指函数的外部;
全局作用域,只有“一个”,即全局作用域就是那些所有不在函数内部的区域范围;
全局变量:就是在函数外部定义的变量;
特别注意:php中,全局作用域,和局部作用域,是“分离”的,“没有重叠”的,“泾渭分明”的;
3,超全局作用域,超全局变量:
其实就是指“所有区域”——类似js中的全局;
即:所有函数的内部和外部,合在一起,称为“超全局”。
超全局变量:只有那几个系统变量($_POST, $_GET, $_SERVER等 ) 是超全局变量,我们不能自己定义出超全局变量;
图示如下:
代码演示:
常用系统内部函数
跟函数有关的函数
function_exists(“函数名”):判断一个函数是否已经存在;
func_get_arg( $n ):在函数内部获得第n个实参(n从0开始算起)
func_get_args():在函数内部获得所有实参
func_num_args():在函数内部获得实参个数
字符串有关常用函数:
输出与格式化:echo , print, printf, print_r, var_dump.
字符串去除与填充:trim, ltrim, rtrim, str_pad
字符串连接与分割:implode, join, explode, str_split
字符串截取:substr, strchr, strrchr,
字符串替换:str_replace, substr_replace
字符串长度与位置: strlen, strpos, strrpos,
字符转换:strtolower, strtoupper, lcfirst, ucfirst, ucwords
特殊字符处理:nl2br, addslashes, htmlspecialchars, htmlspecialchars_decode,
常用数学函数
max, min, round, ceil, floor, abs, sqrt, pow, round, rand
$v1 = rand(10, 17);//获得10~17之间的随机整数!
常用时间函数
time:获得当前时间(精确到秒)
microtime:获得当前时间(可以精确到微秒)
mktime:创建一个时间数据
date:将一个时间转换为某种字符串形式
idate:取得一个时间的某个单项数据值,比如idate(“Y”)取得年份数
strtotime:将一个字符串“转换”为时间值;
date_add:将一个时间进行“加减”时间单位,比如“今天的100天之后是那一天”;
date_diff:计算2个时间之间的“差”;
date_default_timezone_set:在代码中设置“时区”
date_default_timezone_get:在代码中获取“时区”