1、PHP教程第十讲一、用户自定义函数一个函数可由以下的语法来定义:Example 1 展示函数用途的伪代码:任何有效的 PHP 代码都有可能出现在函数内部,甚至包括其它函数和类定义。 函数名和 PHP 中的其它标识符命名规则相同。有效的函数名以字母或下划线打头,后面跟字母,数字或下划线。除非是下面两个例子中的情况,函数必须在其调用之前定义。Example 2 条件函数:Example 3 函数中的函数:PHP 中的所有函数和类都具有全局作用域,可以在内部定义外部调用,反之亦然。PHP 不支持函数重载,也不可能取消定义或者重定义已声明的函数。Note: 函数名是大小写无关的,不过在调用函数的时候,
2、通常使用其在定义时相同的形式。Example 4 递归函数:?phpfunction recursion($a) if ($a 二、函数的参数通过参数列表可以传递信息到函数,即以逗号作为分隔符的表达式列表。 PHP 支持按值传递参数(默认),通过引用传递参数以及默认参数。也支持可变数量的参数;Example 1 向函数传递数组:1.通过引用传递参数缺省情况下,函数参数通过值传递(因而即使在函数内部改变参数的值,它并不会改变函数外部的值)。如果希望允许函数修改它的参数值,必须通过引用传递参数。 如果想要函数的一个参数总是通过引用传递,可以在函数定义中该参数的前面预先加上符号 &:Example
3、2 用引用传递函数参数:2.默认参数的值函数可以定义 C+ 风格的标量参数默认值,如下:Example 3 在函数中使用默认参数:以上例程会输出:Making a cup of cappuccino.Making a cup of .Making a cup of espresso.三、返回值值通过使用可选的返回语句返回。可以返回包括数组和对象的任意类型。返回语句会立即中止函数的运行,并且将控制权交回调用该函数的代码行。Example 1 return 的使用:函数不能返回多个值,但可以通过返回一个数组来得到类似的效果。Example 2 返回一个数组以得到多个返回值:从函数返回一个引用,必须
4、在函数声明和指派返回值给一个变量时都使用引用操作符 & :Example 3 从函数返回一个引用四、可变函数PHP 支持可变函数的概念。这意味着如果一个变量名后有圆括号,PHP 将寻找与变量的值同名的函数,并且尝试执行它。可变函数可以用来实现包括回调函数,函数表在内的一些用途。变量函数不能用于语言结构,例如 echo, print, unset(), isset(), empty(), include, require 以及类似的语句。需要使用自己的包装函数来将这些结构用作变量函数。Example 1 可变函数示例:?phpfunction foo() echo In foo()n;funct
5、ion bar($arg = ) echo In bar(); argument was $arg.n;/ 使用 echo 的包装函数function echoit($string) echo $string;$func = foo;$func(); / This calls foo()$func = bar;$func(test); / This calls bar()$func = echoit;$func(test); / This calls echoit()?还可以利用可变函数的特性来调用一个对象的方法。Example 2 可变方法范例:$name(); / This calls t
6、he Bar() method function Bar() echo This is Bar; $foo = new Foo();$funcname = Variable;$foo-$funcname(); / This calls $foo-Variable()?五、匿名函数Example 1 Anonymous function 示例闭包函数也可以作为变量的值来使用。PHP会自动把表达式转换成内置类Closure的 对象实例。把一个closure对象赋值给一个变量的方式与普通变量赋值的语法是一样的,最后也要加上分号。Example 2 匿名函数变量赋值示例:六、小结本节讲了PHP的函数,可以使用function关键字定义,PHP中还支持可变函数、引用函数和匿名函数。七、练习掌握返回引用的函数和返回值的函数的区别。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1