形参和实参的概念

WBOY
Release: 2016-06-06 20:10:08
Original
2344 people have browsed it

什么叫形参和实参?
(已经百度,感觉没说清楚,或者我没听懂)。
举个例最好了。

回复内容:

什么叫形参和实参?
(已经百度,感觉没说清楚,或者我没听懂)。
举个例最好了。

PHP不太了解,但我可以用C给你解释,原理相同。
形参,形式参数。表示你的函数里所要用的参数的类型和名字。
比如

<code>void fn(int a, int b)
{
    return a+b;
}</code>
Copy after login

这里面的a和b就是形参,它代表的是函数所用的参数的形式。
而实参更好理解了,实际参数,也就是你执行这个函数时真正使用的参数。

<code>c = fn(1,2);</code>
Copy after login

这里面的1和2就是实参。

形参就是函数为要传入的值准备的一个外壳,而实参就是最后传入形参,也就是塞进那个壳里的实际的值,在函数内你可以使用外壳访问壳内的值

<code><?php functiob add($a,$b)                  
    {                                    
       // $a,$b为形式参数
       return $a+$b;
    
    }
    
    //调用的时候
    echo add(2,4);  //这里的2,4就是实体参数
    
 </code></code>
Copy after login

形参和实参,可以简单从字面上理解:那就是走形式的参数;和实际的参数;

例子理解:

<code class="php">function sum($a, $b = 1) {
    return $a + $b;  // $a, $b 为形参
}

sum(1, 2);  //1,2 为实参的值
sum(1);  // 此处未定义$b的值,所以会调用默认值1;但调用该函数。实参仅仅是$a</code>
Copy after login

更深入理解

<code class="php">function params() {
    return func_get_arg();  // 形参一个都没有,但可以通过func_get_arg()函数获取实参数
}

params(1, 2, 3, 4, ....);  // 此处调用函数,但函数并未指定参数(形参);但我同样可以传参数(而且数量不限制),此实体的参数即为实参</code>
Copy after login

形参占位,实参传值

形参当然还用来约束调用时数据的类型和个数

就是传地址和传值的区别

既然是举例子,我就不摆那些自己都看不懂的理论了,高中的定义域和定义域中的值,还有印象嘛?实参好比定义域中的值,形参好比定义域。求大神轻拍

function dosomething($a 形参){

<code>$b = $a 实参; </code>
Copy after login

}

当你写一个函数时,函数需要的参数是形参
当你调用一个函数时,函数用到的参数是实参

<code>function foo($a) {
}</code>
Copy after login

此时$a有值吗?没有,所以是形参。

<code>$b = 5;</code>
Copy after login

此时$b有值吗?有,所以是实参。

Related labels:
php
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template