来自 技术 2019-04-17 00:00 的文章

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

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

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

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

  外部文件的导入

  系统内置函数的考察

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

  global关键字

  $GLOBALS 及其他超全局数组

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

  static关键字

    1.仅初始化一次

    2.初始化时需要赋值

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

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

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

function myFunc(){static $a = 1;echo $a++;}myFunc(); //1myFunc(); //2myFunc(); //3

<?php$count = 5;function getCount(){static $count;return $count++;}echo $count; //5$count++;echo getCount(); //nullecho getCount(); //1 null + 1 = 1?>

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

<?php$a = 1;function myFun(&$a){$a = 100;}myFun($a);echo $a; //100?>

2.函数的返回值

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

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

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

  省略return 返回值为null

  不可能有多个返回值

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

<?phpfunction &myFun(){static $b = 1;return $b;}$a = myFun();echo $a; // 10$a = &myfun();$a = 100;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函数定义的相关内容,理解变量作用域,静态变量,函数参数,和返回值得相关内容,重点记忆总结的内置函数。

想了解更多,请移步至PHP视频教程学习更多内容!