登录
立即注册
首页
>
绿虎论坛
>
历史版块
>
编程
>
PHP
>
讨论/求助
php函数 读取顺序问题?
思忆冰封
@Ta
2012-08-21
3438点击
我想写一个函数,但却发现了一个奇怪问题。代码如下: function test(
@
xm
,
@
nl
) { echo "my name is".
@
xm
."age is".
@
nl
; }//@="$"
echo"error <hr/>"test("libo","18"); ?> 输出后会发现 my name is libo age is 18 error[hr/] ,不知你发现没,error <hr/>跑到后面了,疑问函数按什么顺序读取的?
隐藏样式
查看源码
回复列表(8|
隐藏机器人聊天
)
1
老虎会游泳
@Ta
/ 2012-08-21 /
样
/
源
把echo和test()分别写在两行。
2
思忆冰封
@Ta
/ 2012-08-21 /
样
/
源
@
老虎会游泳
恩恩,我已经写好了。 我现在就是想不通它是怎么读的。
3
思忆冰封
@Ta
/ 2012-08-21 /
样
/
源
@
老虎会游泳
恩恩,我已经写好了。 我现在就是想不通它是怎么读的。
4
老虎会游泳
@Ta
/ 2012-08-21 /
样
/
源
如果你写的是
echo "a".b();
它就会先对b()求值,再把它与"a"连起来输出。
而在对b()求值时,b()里的echo语句就被输出了。然后b()没有返回任何内容,所以接着输出"a";
5
老虎会游泳
@Ta
/ 2012-08-21 /
样
/
源
function b()
{
echo "b";
return "c";
}
echo "a".b();
//从理论上来说应该输出bac
6
思忆冰封
@Ta
/ 2012-08-21 /
样
/
源
@
老虎会游泳
恩谢谢哈。虽然还不大理解为什么要这样。我先死记着,呵呵
7
老虎会游泳
@Ta
/ 2012-08-21 /
样
/
源
@
捕头
echo 2-1;
肯定要先算出2-1再输出,对吧。
那么echo 2-a();呢,肯定要先算出2-a()才输出吧。可是php不知道a()的值,所以肯定要先调用a()才能算出2-a(),得到结果才输出。所以a()是在echo之前调用的。
你明白了吗?
8
思忆冰封
@Ta
/ 2012-08-21 /
样
/
源
恩知道啦。多谢小老虎
添加新回复
回复需要
登录
。
echo "a".b();
它就会先对b()求值,再把它与"a"连起来输出。
而在对b()求值时,b()里的echo语句就被输出了。然后b()没有返回任何内容,所以接着输出"a";
{
echo "b";
return "c";
}
echo "a".b();
//从理论上来说应该输出bac
echo 2-1;
肯定要先算出2-1再输出,对吧。
那么echo 2-a();呢,肯定要先算出2-a()才输出吧。可是php不知道a()的值,所以肯定要先调用a()才能算出2-a(),得到结果才输出。所以a()是在echo之前调用的。
你明白了吗?