已掉线,重新登录

首页 > 绿虎论坛 > 历史版块 > 编程 > PHP > 讨论/求助

标题: php函数 读取顺序问题?

作者: @Ta

时间: 2012-08-21

点击: 3441

我想写一个函数,但却发现了一个奇怪问题。代码如下: 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. 把echo和test()分别写在两行。
(/@Ta/2012-08-21 08:23//)

2. @老虎会游泳 恩恩,我已经写好了。 我现在就是想不通它是怎么读的。 
(/@Ta/2012-08-21 08:29//)

3. @老虎会游泳 恩恩,我已经写好了。 我现在就是想不通它是怎么读的。 
(/@Ta/2012-08-21 08:30//)

4. 如果你写的是
echo "a".b();
它就会先对b()求值,再把它与"a"连起来输出。
而在对b()求值时,b()里的echo语句就被输出了。然后b()没有返回任何内容,所以接着输出"a";
(/@Ta/2012-08-21 08:37//)

5. function b()
{
echo "b";
return "c";
}
echo "a".b();
//从理论上来说应该输出bac
(/@Ta/2012-08-21 08:38//)

6. @老虎会游泳 恩谢谢哈。虽然还不大理解为什么要这样。我先死记着,呵呵
(/@Ta/2012-08-21 08:48//)

7. @捕头
echo 2-1;
肯定要先算出2-1再输出,对吧。
那么echo 2-a();呢,肯定要先算出2-a()才输出吧。可是php不知道a()的值,所以肯定要先调用a()才能算出2-a(),得到结果才输出。所以a()是在echo之前调用的。
你明白了吗?
(/@Ta/2012-08-21 09:16//)

8. 恩知道啦。多谢小老虎
(/@Ta/2012-08-21 12:13//)

回复需要登录

8月10日 04:13 星期天

本站由hu60wap6驱动

备案号: 京ICP备18041936号-1