【PHP面试题】函数的返回值和函数的引用返回【代码实现】

一、函数的返回值

  • 值通过使用可选的返回语句(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

运行结果:

函数的引用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值