php常规知识考察:自定义函数及内部函数

1.变量的作用域和静态变量

函数的参数以及参数的引用传递

函数的返回值以及引用返回

外部文件的导入

系统内置函数的考察

变量的作用域也称为变量的范围,变量的范围即他定义上下文的背景(也是它生效的范围)。大部分php变量只有一生效的范围,这个单独的范围也包括include 和require 引入的文件。

global关键字

$GLOBALS 及其他超全局数组

静态变量仅在局部函数域中存在,当程序执行离开扯作用域时,其值不会消失。

static关键字

1.仅初始化一次

2.初始化时需要赋值

3.每次执行函数该值会保留

4.修饰的函数是局部的,仅在函数内部保存

5.可记录函数的调用次数,从而在某些条件下终止递归:

  1. function myFunc(){
  2. static $a = 1;
  3. echo $a++;
  4. }
  5. myFunc(); //1
  6. myFunc(); //2
  7. myFunc(); //3
  8. <?php
  9. $count = 5;
  10. function getCount(){
  11. static $count;
  12. return $count++;
  13. }
  14. echo $count; //5
  15. $count++;
  16. echo getCount(); //null
  17. echo getCount(); //1 null + 1 = 1
  18. ?>

默认情况下函数通过值传递,如果希望函数修改它的值,则必须通过引用传递。

  1. <?php
  2. $a = 1;
  3. function myFun(&$a){
  4. $a = 100;
  5. }
  6. myFun($a);
  7. echo $a; //100
  8. ?>

2.函数的返回值

值通过可选的放回语句(return)返回

可以返回包含数组或对象的任意类型

返回语句会终止函数的执行,将控制权交回函数的控制处

省略return 返回值为null

不可能有多个返回值

从函数返回一个引用,必须在函数声明和指派返回值时给派返回值给一个变量时,都使用引用运算符&

  1. <?php
  2. function &myFun(){
  3. static $b = 1;
  4. return $b;
  5. }
  6. $a = myFun();
  7. echo $a; // 10
  8. $a = &myfun();
  9. $a = 100;
  10. echo myfun(); //100

外部文件的导入

include/reqlude 的区别 警告/致命错误 include_once/reqlude_once

3.系统内置函数

时间与日期:date(),strtottime(),time(),miketime(),microtime(),date_default_timezone_set()

ip处理函数:iptolong(),longtoip()

打印处理:print(),printf(),print_r(),echo,sprintf(), var_dump(), var_export()

序列化和反序列化函数:serialize(),unserialize() https://www.cnblogs.com/yamtsin/p/5922872.html

字符串处理函数:implod()

解题方法:

着重记忆php函数定义的相关内容,理解变量作用域,静态变量,函数参数,和返回值得相关内容,重点记忆总结的内置函数。