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

Python常见数据结构整理 Python常见数据结构整理

Python常见数据结构整理 Python中常见的数据结构可以统称为容器(container)。序列(如列表和元组)、映射(如字典)以及集合(set)是三类主要...

1897
来自专栏liulun

Nim教程【八】

有序类型 值连续的枚举类型、整型、字符类型、布尔类型(还有这些类型的变种), 都可以称之为有序类型,Nim为有序类型提供了一系列特殊的方法 方法签名 方法...

1996
来自专栏web前端

Vuejs --04 计算属性

一、使用原因      1、模板中表达式很便利,但实际上只适用于简单的运算,不适宜放入太多逻辑运算,例如: <div id="example"> {{ mess...

2007
来自专栏Python数据科学

Python 内建函数大全

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

1803
来自专栏Vamei实验室

Python深入03 对象的属性

Python一切皆对象(object),每个对象都可能有多个属性(attribute)。Python的属性有一套统一的管理方案。 属性的__dict__系统 对...

1867
来自专栏北京马哥教育

python模块之re正则表达式详解

正则表达式是一种小型的、高度专业化的编程语言,并不是python中特有的,是许多编程语言中基础而又重要的一部分。在python中,主要通过re模块来实现。这篇文...

3919
来自专栏数据结构与算法

41:判断元素是否存在

41:判断元素是否存在 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB描述 有一个集合M是这样生成的: (1) 已知 k 是集...

3086
来自专栏炉边夜话

java 异常处理学习笔记

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

802
来自专栏java学习

Java每日一练(2017/7/5)

1 (单选题)1、下面这三条语句 System.out.println(“is ”+ 100 + 5); System.out.println(100 + 5 ...

3449
来自专栏测试开发架构之路

C语言之函数

  结构化程序设计主张按功能来分析需求,主要原则自顶向下,逐步求精,模块化等。 主张按功能把软件系统逐步细分,每个功能都负责对数据进行一次处理,每个功能接收一些...

3394

扫码关注云+社区