一、函数的返回值
- 值通过使用可选的返回语句(return)返回;
- 可以返回包括数组和对象的任意类型;
- 返回语句会中止函数执行,将控制权交回函数调用处;
- 省略 return,返回值为 NULL,不可有多个返回值;【若想返回多个值,可以返回一个数组,把多个值放到一个数组中】
二、函数的引用返回
从函数返回一个引用,必须在函数声明和指派返回值给一个变量时,都使用引用运算符 &;
代码实现:
function &mgFunc()
{
static $b = 10;
return $b;
}
$a = myFunc(); // 10
$a = &myFunc(); // $a与$b互为引用,此时将$b = 10,赋值给$a
$a = 100; // 修改 $a的值,函数中 $b的值也会发生改变【指向的是一个内存空间】
echo myFunc(); // 100
分析:
function &myFunc()
{
static $b = 10;
return $b;
}
echo '引用前函数的值:'.myFunc().'<hr>'; // 10
$a = &myFunc(); // $a = 10【将函数中$b的值赋值给$a】
$a = 100; // ($a的值发生改变,$b的值也发生改变,因为二者指向同一个内存空间)
echo '引用后函数的值:'.myFunc(); // 100
运行结果: