参数的数量: 通常情况下,形式参数的数量应该和实际参数的数量保持一致。但是也不是必须遵守这个规则。 比如在定义形式参数的时候,只有一个形参,我们在填写实参的时候,可以填写100个。 但是如果实际参数的数量小于形式参数,那么就会触发错误。
记住了,兄弟们,实参的数量可以大于形参的数量,但是实参的数量不能小于形参的数量哈 也就是说比如我有三个糖(实参)sum(1,1,1),有两个小朋友(形参)function sum( a , a, a,b),我每一个小朋友可以分一个糖,还剩一颗是吧。但是如果我只有一个糖sum(1),却要分给两个小朋友(function sum( a , a, a,b))你说行吗?不行是吧,是不是不合适啊。一样道理是吧, 是不是这样,兄dei。 不说了,举代码说明把。 //实参大于形参
$c=$a+$b; echo($c); } ?>
结果:3
//实参小于形参
echo($a); } ?>
效果: Fatal error: Uncaught ArgumentCountError: Too few arguments to function sum(), 1 passed in C:\xampp\htdocs\2.php on line 2 and exactly 2 expected in C:\xampp\htdocs\2.php:3 Stack trace: #0 C:\xampp\htdocs\2.php(2): sum(1) #1 {main} thrown in C:\xampp\htdocs\2.php on line 3
兄弟们,记住哈,有一个法子实参小于形参也不会错,我试试看啊
$c=$a+$b; echo($c); } ?>
效果:7
如果在实际工作中,实际参数的数量多于了形式参数怎么办呢?
print_r(func_get_args()); } ?>
效果: Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7] => 8 [8] => 9 )
函数的返回值: 我代码示例把:
return $ } ?>
效果:3
可变参数: 可变函数:一个变量的值刚好是一个函数的名 字,那么在调用的时候,就可以通过变量来调用函数。 我代码示例把:
echo "贵哥牛逼"; } ?>
效果:贵哥牛逼
匿名函数;
echo "贵哥牛逼"; }; $show(); ?>
效果:贵哥牛逼
变量的作用域: 有了函数之后,变量就有了作用域的区分,包括:全局变量、局部变量、超全局变量。 全局变量:定义在函数外部,只能在函数外部使用。(外面我是老大)) 局部变量:定义再函数内部,只能在函数内部使用。(内部我是老大) 超全局变量:PHP定义好的,我们直接使用就可以了。(内外部我都是大佬,说一不二的)
echo($a); } sum(); ?>
//在函数内部不能使用,会报错哦 Notice: Undefined variable: a in C:\xampp\htdocs\2.php on line 6
$b=8; } echo($b); sum(); //效果 Notice: Undefined variable: b in C:\xampp\htdocs\2.php on line 9 ?>
超全局变量(系统定义好的) $GLOBALS $_SERVER $_REQUEST $_POST $_GET $_FILES $_ENV $_COOKIE $_SESSION
echo($_GET['name']); } show(); ?>
效果:李文
$GLOBALS:以数组的形式做的哈
global $name;//在函数内部定义为可以获取全局的变量$name echo($name); } ?>