PHP中的函数

  • 函数调用
  • function sum($x,$y) //形参:在声明函数时声明的参数 { // $x = 1; //如果在函数内对参数赋值,则会覆盖实参。 // $y = 2; $sum = 0; $sum = $x + $y; return $sum; //执行到return函数结束,后面不再执行 } sum(); sum(2,2); //实参:在调用函数时传递给形参的数值 echo sum(2,2); //通过return返回数据可作为值使用
  • 局部变量:函数内部声明与使用的变量 全局变量:在函数外声明,脚本任何地方均可以使用 Tips:在PHP函数中使用全局变量,要通过global关键字将这个 全局变量包含到函数中才能使用
  • $a = 1; $b = 2; function demo($a = '') { //global 须放在前面 //global $a,$b global 可包含多个全局变量 //$GLOBALS['a'] //声明全局变量 方法二 global $a; $a += 5; echo $a; } demo();
  • 静态变量可以在同一个函数中多次调用中共用 静态变量只能在函数或类中声明,不能在全局声明
  • function demo($a = '') { static $a = 0; //定义静态变量 $a++; echo "$a<br>"; } demo(); //输出1 demo(); //输出2
  • func_num_args():返回传递到函数的参数数目 function Test() { echo func_num_args(); } Test('a','b','c'); // 3 func_get_arg():返回参数列表中的第N个参数 function Test() { echo func_get_arg('1'); } Test('a','b','c'); //b 应用实例: function cls_mysql() { $mysql = func_get_args(); $conn = mysql_connect($mysql['0'], $mysql['1'], $mysql['2']); } cls_mysql('localhost:3306', 'root', '123456');
  • 我们自定义一个函数A,但是我们不直接去调函数A, 而是在函数B中去调用函数A,函数B通过接收函数A的 名字和参数来实现对函数A的调用,函数A称为回调函数。 function A($x,$y) { return $x*$y; } function B($a,$b,$fun) { return $a+$b+$fun($a,$b); } echo B(2,3,"A"); PHP回调函数的实现方法 php提供了两个内置函数call_user_func()和 call_user_func_array()提供对回调函数的支持 //mixed call_user_func_array 以数组的形式接收回调函数的 参数mixed call_user_func_array ( callable $callback , array $param_arr )call_user_func_array('f1',array('A','B')); //call_user_func的参数个数根据回调函数的参数来确定 mixed call_user_func ( callable $callback [, mixed $parameter [, mixed $... ]] )call_user_func_array ('f1','A','B');
  • 原文:http://wangyan.org/blog/php-note-6.html

原文发布于微信公众号 - php(phpdaily)

原文发表时间:2014-11-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏老司机的技术博客

宝宝都能学会的python编程教程12:函数的参数

Python的函数定义非常简单,也非常灵活。除了正常定义的必选参数外,还可以使用默认参数、可变参数和关键字参数,使得函数定义出来的接口,不但能处理复杂的参数,还...

3346
来自专栏开发与安全

从零开始学C++之从C到C++(一):const与#define、结构体对齐、函数重载name mangling、new/delete 等

一、bool 类型 逻辑型也称布尔型,其取值为true(逻辑真)和false(逻辑假),存储字节数在不同编译系统中可能有所不同,VC++中为1个字节。 声明方式...

1720
来自专栏有趣的django

6.python内置函数

1. abs() 获取绝对值 >>> abs(-10) 10 >>> a = -10 >>> a.__abs__() 10 2. all()   参数为可迭代对...

3206
来自专栏Python数据科学

Python 内建函数大全

Python 解释器内置了许多函数和类型,列表如下(按字母排序)(省略了几个我没用过或者不常用的)。

602
来自专栏Android干货

浅谈Base64编码算法

2846
来自专栏转载gongluck的CSDN博客

野指针分析

1. 野指针的概念   所谓的野指针,就是说指针指向的那块内存,你没有合法操作的权限,也就是指针指向非法的内存空间,这样的指针就叫做野指针。 2. 野指针产...

3657
来自专栏我爱编程

Day18内建模块collections&base64collectionsbase64

collections collections是Python内建的一个集合模块,提供了许多有用的集合类。 namedtuple >>> from collect...

4138
来自专栏老司机的技术博客

人人都能学会的python编程教程12:函数的参数

Python的函数定义非常简单,也非常灵活。除了正常定义的必选参数外,还可以使用默认参数、可变参数和关键字参数,使得函数定义出来的接口,不但能处理复杂的参数,还...

4687
来自专栏WD学习记录

牛客网 构造队列

小明同学把1到n这n个数字按照一定的顺序放入了一个队列Q中。现在他对队列Q执行了如下程序:

571
来自专栏Java帮帮-微信公众号-技术文章全总结

Java基础-12(02)总结Scanner,String

(6)字符串的案例 A:模拟用户登录 B:字符串遍历 C:统计字符串中大写,小写及数字字符的个数 D:把字符串的首字母转成大写,其他小写 E:把int...

34210

扫描关注云+社区