A文件,
while{
 switch 执行10个case,遇到1执行1,遇到2执行2.
}遇到1时 引用
include "./1.php" 
函数1($a,$b,$c){
  打开1个网页,获取到下一页地址,在读取,在获取内容
  形成内容;
   select .....;
  if(内容没有){
  insert into ....;
  insert into ....;
  update ....;
  然后执行生成6个网页。
   }
}求问,这样下来。一个switce,也许有NNNN个,也就很多,40个左右吧。
在效率来讲肯定是慢的,加入我在执行一次后, 就sleep(10);会不会不让程序超时?
或者说还有其他办法?

解决方案 »

  1.   

    switch实际上已经分支了,一次只执行一个分支吧?
      

  2.   

    是谁跟你说:“第二个层文件的函数执行完没完,分支才不会理会你的,他就会继续执行其他分支”的?
    想当然了!sleep(10) 是中断程序 10 秒,非但不会不让程序超时,而是正常的程序尚未执行完就超时了
      

  3.   

    你实际工作中会出现没执行完就直接跳到下一步么?这个有点奇怪你应该将include的内容写成function或者类,然后 switch 内做实际执行工作,再break这样才合理
      

  4.   

    程序都是顺序执行的,无论函数是否有返回值,都只会在函数执行完以后才会执行调用函数的语句的下一条语句当然你也可能写多线程或异步程序,不过php暂不支持这些功能。
      

  5.   

    版哥,第二个文件执行以后,交会控制权,这个交回,需要在第二个文件做 return;吗?
      

  6.   


    我这个函数只是执行 update and insert  然后 生成HTML 没return的,可以的吧应该。
      

  7.   

    完了。真的是业务需要了。while(){
    当 case 遇到1时,进入引入文件,调用函数后,
    当 case 遇到2时,进入引入文件,调用函数后,
    当 case 遇到3时,进入引入文件,调用函数后,
    }
    遇到3后,3是完整执行,执行的任务是生成HTML。
    1 2 都不执行,但执行了数据入库。