扫码关注官方订阅号
什么叫形参和实参? (已经百度,感觉没说清楚,或者我没听懂)。 举个例最好了。
ringa_lee
PHP不太了解,但我可以用C给你解释,原理相同。形参,形式参数。表示你的函数里所要用的参数的类型和名字。比如
void fn(int a, int b) { return a+b; }
这里面的a和b就是形参,它代表的是函数所用的参数的形式。而实参更好理解了,实际参数,也就是你执行这个函数时真正使用的参数。
c = fn(1,2);
这里面的1和2就是实参。
形参就是函数为要传入的值准备的一个外壳,而实参就是最后传入形参,也就是塞进那个壳里的实际的值,在函数内你可以使用外壳访问壳内的值
<?php functiob add($a,$b) { // $a,$b为形式参数 return $a+$b; } //调用的时候 echo add(2,4); //这里的2,4就是实体参数
形参和实参,可以简单从字面上理解:那就是走形式的参数;和实际的参数;
例子理解:
function sum($a, $b = 1) { return $a + $b; // $a, $b 为形参 } sum(1, 2); //1,2 为实参的值 sum(1); // 此处未定义$b的值,所以会调用默认值1;但调用该函数。实参仅仅是$a
更深入理解
function params() { return func_get_arg(); // 形参一个都没有,但可以通过func_get_arg()函数获取实参数 } params(1, 2, 3, 4, ....); // 此处调用函数,但函数并未指定参数(形参);但我同样可以传参数(而且数量不限制),此实体的参数即为实参
形参占位,实参传值
形参当然还用来约束调用时数据的类型和个数
就是传地址和传值的区别
既然是举例子,我就不摆那些自己都看不懂的理论了,高中的定义域和定义域中的值,还有印象嘛?实参好比定义域中的值,形参好比定义域。求大神轻拍
function dosomething($a 形参){
$b = $a 实参;
}
当你写一个函数时,函数需要的参数是形参当你调用一个函数时,函数用到的参数是实参
function foo($a) { }
此时$a有值吗?没有,所以是形参。
$b = 5;
此时$b有值吗?有,所以是实参。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
PHP不太了解,但我可以用C给你解释,原理相同。
形参,形式参数。表示你的函数里所要用的参数的类型和名字。
比如
这里面的a和b就是形参,它代表的是函数所用的参数的形式。
而实参更好理解了,实际参数,也就是你执行这个函数时真正使用的参数。
这里面的1和2就是实参。
形参就是函数为要传入的值准备的一个外壳,而实参就是最后传入形参,也就是塞进那个壳里的实际的值,在函数内你可以使用外壳访问壳内的值
形参和实参,可以简单从字面上理解:那就是走形式的参数;和实际的参数;
例子理解:
更深入理解
形参占位,实参传值
形参当然还用来约束调用时数据的类型和个数
就是传地址和传值的区别
既然是举例子,我就不摆那些自己都看不懂的理论了,高中的定义域和定义域中的值,还有印象嘛?实参好比定义域中的值,形参好比定义域。求大神轻拍
function dosomething($a 形参){
}
当你写一个函数时,函数需要的参数是形参
当你调用一个函数时,函数用到的参数是实参
此时$a有值吗?没有,所以是形参。
此时$b有值吗?有,所以是实参。