Home >Backend Development >PHP Tutorial >php中函数的形参与实参的问题说明_PHP

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

WBOY
WBOYOriginal
2016-06-01 12:17:28962browse

当实参个数形参个数 时,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";
?>

//上面的两个例子就是说明,求教了~~~
Statement:
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