一、函数参数
- 按值传递参数,函数内部的改变不会影响传进去的变量
$aa = 1;
function test($a){
echo $a+=9;
}
test($aa); // 10
echo $aa; // 1,$aa 的值没有被改变
- 按引用传递参数,需要在参数前面加上 & 符号
$aa = 1;
function test(&$a){ // 加了 & 符号
echo $a+=9;
}
test($aa); // 10
echo $aa; // 10,$aa的值也发生了改变
- 默认参数
$aa = 1;
function test($a,$b=9){ // 不传默认为 9
echo $a + $b;
}
test($aa); // 10
二、函数返回值
- return()
- 返回多个值
- list(),相当于 js 的解构赋值,把右边数组的每一个值相应的赋值给左边的变量
$color = array('redValue','blueValue','yellowValue');
list($red,$blue,$yellow) = $color;
echo $red,'<br />'; // redValue
echo $blue,'<br />'; // blueValue
echo $yellow,'<br />'; // yellowValue
function user(){
$user[] = 'jack';
$user[] = '23';
$user[] = '123456';
return $user; // 返回多个值(数组)
}
list($name,$age,$pass) = user(); // 把返回值赋值给左边的变量
echo $name,'<br />'; // jack
echo $age,'<br />'; // 23
echo $pass,'<br />'; // 123456