代码示例如下:class c1{
function a1(){
echo "11111111111111";
a2();
}
function a2(){
echo "2222222222222";
}}//调用
c1->a1();
我的一份代码结构如上。但是产生了一个很纠结的问题是,在我的开发环境中没有任何问题,先执行a1()中的输出后执行a2()的内容,但是我搞到服务器上之后同样的代码确是a2()先执行了,然后才执行的a1()中的输出。这种情况是因为什么原因呢?有哪些因素?会不会是和运行环境有关系?我的开发环境用的是apache 服务器上用的是iis·
求教~~
function a1(){
echo "11111111111111";
a2();
}
function a2(){
echo "2222222222222";
}}//调用
c1->a1();
我的一份代码结构如上。但是产生了一个很纠结的问题是,在我的开发环境中没有任何问题,先执行a1()中的输出后执行a2()的内容,但是我搞到服务器上之后同样的代码确是a2()先执行了,然后才执行的a1()中的输出。这种情况是因为什么原因呢?有哪些因素?会不会是和运行环境有关系?我的开发环境用的是apache 服务器上用的是iis·
求教~~
class c1{ function a1(){
echo "11111111111111<br>";
$this->a2();
}
function a2(){
echo "2222222222222<br>";
}
}$myc1=new c1();
$myc1->a1();结果为11111111111111
2222222222222
应该是先a1后a2
实际代码要复杂的多···
按正常来说是应该顺序执行的啊··我a1()的方法是校验 a2()的方法是处理·
大概为:
a1()中判断数据库值不为“1” 执行a2()··
a2() 执行业务操作 然后 修改数据库值为“1” 本地是没问题的··搞到服务器上先执行了a2()的内容··然后执行a1()的校验,错误返回了··为什么同样一份代码不同的环境下执行结果不一样呢?
我查了一下,也有类似的问题,不过不多,也没有明确的解释
下面这个帖子就是类似的问题
http://topic.csdn.net/u/20090804/10/03dbec12-7de2-45ad-a0be-6335f03fa211.html
只可能是你程序执行的过程中,因为服务器的原因导致某些分支执行出现问题 所以走叉了
debug就知道你的a2是在啥时候被执行的了
另外debug一下
echo "11111111111111<br>";
$aa=true;
if($aa){
$this->a2();
}
}