PHP函数定义、参数形式及返回值


前言

本文就介绍了PHP函数的基础内容。


提示:以下是本篇文章正文内容,下面案例可供参考

一、用户自定义函数

  • 函数名的命名:由字母、下划线、数字组成,字母或下划线开头。
  • 函数无需在调用之前被定义。但如果当一个函数是有条件被定义时,必须在调用函数之前定义。
  • PHP 中的所有函数和类都具有全局作用域,可以定义在一个函数之内而在之外调用。
  • PHP 不支持函数重载,也不可能取消定义或者重定义已声明的函数。
  • 递归函数。避免递归函数/方法调用超过 100-200 层,因为可能会使堆栈崩溃从而使当前脚本终止。 无限递归可视为编程错误。
function test($str = '') {
	return "你好";
}
test();

function test1(){
	function test2(){
		return "你好";
	}
}
//这时不能先调用test2()方法,因为test2还不存在。

test1();	//接下来就可以调用test2了
test2();

//递归函数
function test3($x){
    if($x < 20){
        echo $x."<br>";
        $x++;
        test3($x);
    }
}
test3(1);

二、函数的参数

  • 通过参数列表可以传递信息到函数,即以逗号作为分隔符的表达式列表。
  • 引用传递参数,&符。在函数里面改变该变量,会使外部的变量也发生变化。
  • 默认参数。还允许使用数组 array 和特殊类型 NULL 作为默认参数。
  • 参数类型申明。类型声明允许函数在调用时要求参数为特定类型。 如果给出的值类型不对,那么将会产生一个错误。为了指定一个类型声明,类型应该加到参数名前。
  • 可变数量的参数。使用 … 来访问变量参数。
function test($x,$y){		//逗号作为分隔符
	return true;
}

$a = 1;
function test1(&$a) {		//引用传值
    echo 'test1中的输出:'.$a."<br>";
    $a++;
}
test1($a);
echo '调用方法之后的值:'.$a."<br>";

function test2($x,$y=2){	//默认参数$y
	echo $x + $y;
}
test2(1);

function test3(...$numbers){	//可变数量的参数
    $sum = 0;
    foreach($numbers as $n){
        $sum += $n;
    }
    return $sum;
}
echo test3(1,2,3,4);

三、返回值

  • 值通过使用可选的返回语句返回。
  • 可以返回包括数组和对象的任意类型。
  • 返回语句会立即中止函数的运行,并且将控制权交回调用该函数的代码行。
  • 函数不能返回多个值,但是可以返回数组(组装成数组返回)。
function test($x){
	return $x * $x;
}
echo test(5);

function test2(){
	return array("a","b","c","d");
}
list($aa,$bb,$cc,$dd) = test2();

总结

以上就是今天要讲的内容,本文仅仅简单介绍了PHP的函数。

  • 函数命名:组成(字母、数字、下划线)。由字母或下划线开头。
  • 函数无需在调用之前被定义。
  • 所有函数和类都具有全局作用域,可以定义在一个函数之内而在之外调用。
  • 避免递归函数/方法调用超过 100-200 层,因为可能会使堆栈崩溃从而使当前脚本终止。
  • 函数的参数:以逗号作为分隔符的表达式
  • 引用传递:&符
  • 默认参数。
  • 可变数量的参数。使用 … 来访问变量参数。
  • 可以返回包括数组和对象的任意类型。
  • 返回语句会立即中止函数的运行。
  • 函数不能返回多个值。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值