php循环问题

while($a<1000){

$a++;
foo();

}

假如foo()要消耗很多资源,要连网,要增删改查很多数据库啥的,是不是都要等foo()执行完了,才开始下一次循环?

阅读 2.3k
3 个回答

yes.php里面的执行权问题..

只有等函数执行完毕之后才会把执行权交回调用处继续执行下面代码.

要等foo函数执行完毕才会执行下一个循环,PHP是单进程阻塞执行,异步执行需要swoole扩展,或在linux下借助pcntl扩展实现多进程,将耗时操作放到子进程中执行,也可以使用pthreads扩展实现多线程,但要在TS版本PHP下执行

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题