> 백엔드 개발 > PHP 튜토리얼 > php中函数的形参与实参的问题说明_PHP

php中函数的形参与实参的问题说明_PHP

WBOY
풀어 주다: 2016-06-01 12:17:28
원래의
973명이 탐색했습니다.

当实参个数形参个数 时,php是不会报错的,它只会取前面的几个参数,多余的则将会丢弃。

在PHP中编写函数,一般情况下调用函数的时候,改变的值都是形参而不是实参.但是如果在形参中加入地址符时候就会改变实参的值,为什么?

请看下面的例子:
复制代码 代码如下:
//编写一个函数swap(),测试该函数的实参值无改变
function swap($a,$b) {
echo "

进入swqp()函数前
\n";
echo "交换前:形参a=$a,形参b=$b
\n";
$c=$b;
$a=$b;
$b=$c;
echo "交换后:形参a=$a,形参b=$b
\n";
echo "退出swap()函数

\n";
}
$variablea=5;
$variableb=10;
echo "调用swap()函数前: ";
echo "实参a=$variablea,实参b=$variableb
\n";
swap($variablea,$variableb);
echo "调用swap()函数后: ";
echo "实参a=$variablea,实参b=$variableb
\n";
?>

复制代码 代码如下:
//测试swap()函数实参的值改变
function swap1(&$a,&$b) {
echo "

进入swap1()函数
\n";
echo "交换前: 形参a=$a,形参b=$b
\n";
$c=$b;
$a=$b;
$b=$c;
echo "交换后: 形参a=$a,形参b=$b
\n";
echo "退出swap()函数

\n";
}

$variablea=5;
$variableb=10;
echo "调用swap1()函数前: ";
echo "实参a=$variablea,实参b=$variableb
\n";
swap1($variablea,$variableb);
echo "调用swap1()函数后: ";
echo "实参a=$variablea,实参b=$variableb
\n";
?>

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