新浪PHP开发工程师笔/面试总结四·佳佳和return的问题

面试的时候,面试官问我:

你觉得return $a++;和$ret = $a++;return $ret;不一样么?

当时头脑已经有点意识模糊了,就觉得return好像比较屌一点,会等整个函数运行完再返回值。

现在实际测试了之后发现我真的意识模糊了,

1
2
3
4
5
6
7
8
$ret = 1;
function add(){
global $ret;
return $ret++;
}
echo add();//1
echo "<br/>$ret"//2
`

说明程序是可以在函数return之后继续运行的,也就是说返回$ret当前的值之后,++的操作并没有因为return而中断,$ret变量还是自增了。

++放前面和放后面的方法学C的时候已经学得挺清楚了,就是调用前自增和调用后自增的问题,现在怎么想不明白了呢?真是越学越傻啊…