前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >php函数中

php函数中

作者头像
贵哥的编程之路
发布2020-10-28 15:13:46
3.2K0
发布2020-10-28 15:13:46
举报
文章被收录于专栏:用户7873631的专栏

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

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

代码语言:javascript
复制
<?php
sum(1,2,3);
function sum($a,$b)
{
	$c=$a+$b;
	echo($c);
}
?>

结果:3

//实参小于形参

代码语言:javascript
复制
<?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

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

代码语言:javascript
复制
<?php
sum(1);
function sum($a,$b=6)
{
	$c=$a+$b;
	echo($c);
}
?>

效果:7

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

代码语言:javascript
复制
<?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 )

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

代码语言:javascript
复制
<?php
$c=sum(1,2);
echo($c);
function sum($a,$b)
{
	return $
}
?>

效果:3

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

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

效果:贵哥牛逼

匿名函数;

代码语言:javascript
复制
<?php
$show=function ()
{
echo "贵哥牛逼";
};
$show();
?>

效果:贵哥牛逼

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

代码语言:javascript
复制
<?php
//全局变量
$a=7;
function sum()
{
	echo($a);
}
sum();
?>

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

代码语言:javascript
复制
<?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

代码语言:javascript
复制
<?php
//超全局变量
$_GET['name']="李文";
function show()
{
	echo($_GET['name']);
}
show();
?>

效果:李文

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

代码语言:javascript
复制
<?php
$name="李文&陈业贵";
echo $GLOBALS['name'];
?>

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

代码语言:javascript
复制
<?php
$GLOBALS['name']="贵哥";
echo $name;
?>

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

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

代码语言:javascript
复制
<?php
$name="王者";
show();
function show()
{
	global $name;//在函数内部定义为可以获取全局的变量$name
	echo($name);
}
?>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/05/15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档