php函数中

参数的数量:
通常情况下,形式参数的数量应该和实际参数的数量保持一致。但是也不是必须遵守这个规则。
比如在定义形式参数的时候,只有一个形参,我们在填写实参的时候,可以填写100个。
但是如果实际参数的数量小于形式参数,那么就会触发错误。

记住了,兄弟们,实参的数量可以大于形参的数量,但是实参的数量不能小于形参的数量哈
也就是说比如我有三个糖(实参)sum(1,1,1),有两个小朋友(形参)function sum( a , a, a,b),我每一个小朋友可以分一个糖,还剩一颗是吧。但是如果我只有一个糖sum(1),却要分给两个小朋友(function sum( a , a, a,b))你说行吗?不行是吧,是不是不合适啊。一样道理是吧,
是不是这样,兄dei。
不说了,举代码说明把。
//实参大于形参

<?php
sum(1,2,3);
function sum($a,$b)
{
	$c=$a+$b;
	echo($c);
}
?>

结果:3

//实参小于形参

<?php
sum(1);
function sum($a,$b)
{
	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

兄弟们,记住哈,有一个法子实参小于形参也不会错,我试试看啊

<?php
sum(1);
function sum($a,$b=6)
{
	$c=$a+$b;
	echo($c);
}
?>

效果:7

如果在实际工作中,实际参数的数量多于了形式参数怎么办呢?

<?php
sum(1,2,3,4,5,6,7,8,9);
function sum()
{
	print_r(func_get_args());
}
?>

效果:
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7] => 8 [8] => 9 )

函数的返回值:
我代码示例把:

<?php
$c=sum(1,2);
echo($c);
function sum($a,$b)
{
	return $
}
?>

效果:3

可变参数:
可变函数:一个变量的值刚好是一个函数的名
字,那么在调用的时候,就可以通过变量来调用函数。
我代码示例把:

<?php
$a="lw";//一个变量的值等于
$a();//一个变量的名啊(核心:加个括号即可)
function lw()
{
	echo "贵哥牛逼";
}
?>

效果:贵哥牛逼

匿名函数;

<?php
$show=function ()
{
echo "贵哥牛逼";
};
$show();
?>

效果:贵哥牛逼

变量的作用域:
有了函数之后,变量就有了作用域的区分,包括:全局变量、局部变量、超全局变量。
全局变量:定义在函数外部,只能在函数外部使用。(外面我是老大))
局部变量:定义再函数内部,只能在函数内部使用。(内部我是老大)
超全局变量:PHP定义好的,我们直接使用就可以了。(内外部我都是大佬,说一不二的)

<?php
//全局变量
$a=7;
function sum()
{
	echo($a);
}
sum();
?>

//在函数内部不能使用,会报错哦
Notice: Undefined variable: a in C:\xampp\htdocs\2.php on line 6

<?php
//局部变量
function sum()
{
	$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

<?php
//超全局变量
$_GET['name']="李文";
function show()
{
	echo($_GET['name']);
}
show();
?>

效果:李文

$GLOBALS:以数组的形式做的哈

<?php
$name="李文&陈业贵";
echo $GLOBALS['name'];
?>

效果:李文&陈业贵
当定义变量的时候,$GLOBALS也会将变量的名字和值存起
来,将以数组的方式保存起来。

<?php
$GLOBALS['name']="贵哥";
echo $name;
?>

按照这种形式理解就可以了

还有一种方式,可以在函数内部使用全局变量,那就是global关键字

<?php
$name="王者";
show();
function show()
{
	global $name;//在函数内部定义为可以获取全局的变量$name
	echo($name);
}
?>
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贵哥的编程之路(热爱分享)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值