形参和实参的概念

WBOY
풀어 주다: 2016-06-06 20:10:08
원래의
2340명이 탐색했습니다.

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

回复内容:

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

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

<code>void fn(int a, int b)
{
    return a+b;
}</code>
로그인 후 복사

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

<code>c = fn(1,2);</code>
로그인 후 복사

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

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

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

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

例子理解:

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

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

更深入理解

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

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

形参占位,实参传值

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

就是传地址和传值的区别

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

function dosomething($a 形参){

<code>$b = $a 实参; </code>
로그인 후 복사

}

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

<code>function foo($a) {
}</code>
로그인 후 복사

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

<code>$b = 5;</code>
로그인 후 복사

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

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿