多语言展示
当前在线:1909今日阅读:84今日分享:32

变量的作用域问题和常用系统内部函数-php

变量的作用域问题和常用系统内部函数-php
工具/原料

php

方法/步骤
1

1.变量的作用域问题作用域,就是一个变量的“有效”(可用)的范围; 有3种作用域,也分别对应3种不同作用域的变量: 1, 局部作用域,局部变量:其实就是指一个函数的内部;局部作用域有“多个”,因为每个函数内部都是一个局部作用域;局部变量:就是在一个局部作用于中定义的变量。它只能在该局部作用域中使用。 2,全局作用域,全局变量:其实就是指函数的外部;全局作用域,只有“一个”,即全局作用域就是那些所有不在函数内部的区域范围;全局变量:就是在函数外部定义的变量;特别注意:php中,全局作用域,和局部作用域,是“分离”的,“没有重叠”的,“泾渭分明”的; 3,超全局作用域,超全局变量:其实就是指“所有区域”——类似js中的全局;即:所有函数的内部和外部,合在一起,称为“超全局”。超全局变量:只有那几个系统变量($_POST, $_GET, $_SERVER等 ) 是超全局变量,我们不能自己定义出超全局变量;图示如下:

2

2.代码演示:

3

3.常用系统内部函数跟函数有关的函数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:在代码中获取“时区”有关编程思想递归思想一句话概括:在一个函数内部的语句中,如果出现调用该函数本身的语句,则此时就称为“递归调用”; 递归原理:

4

4.递归应用:使用递归,来求“n的阶乘”:阶乘的数学规定:1,任何一个正整数的阶乘,是这个正整数乘以比他小1的整数的阶乘的乘积;即:n的阶乘 = n * (n-1)的阶乘;2,  1的阶乘是1; 需求:求5的阶乘:

5

5.递归函数(递归调用,递归思想)的代码模式为: function  函数名( $ n ){if($n是某种特殊值){return  特殊结果;}else{$result  = 对 函数名( $n-1 )的一个计算结果return  $result;}} 原理图示:

6

6.递推思想描述:如果要求得一个大问题(n级问题)的结果,且如果已知如下2个条件:1,已知n-1级问题,可以轻松求得n级问题的答案;2,该大问题的同类问题的最小一级的答案是已知的;则我们可以简单使用递推模型(思想)来得到答案,如下所示:$WENTI1 = 已知; //$WENTI1表示1级问题(最小一级)问题的答案;$WENTI2 = 对 $WENTI 计算;$WENTI3 = 对 $WENT2 计算;。。。。。。$WENTI(n) = 对 $WENTI(n-1) 计算; 递推思想应用:计算5的阶乘:

7

7.代码模式:$qian = 已知问题的最小答案;for( $i = 第2级;  $i <= 最大级n;  ++$i){$result  =  对$qian做简单运算;$qian  =  $result;  //将当前求得的结果($result)当做下一次要求的结果的“前一个数”;}echo  “结果为:”  .  $result;  图示如下:

推荐信息