当循环结束时,从PHP调用的函数会在下一个循环开始之前完成吗?

当循环结束时,从PHP调用的函数会在下一个循环开始之前完成吗?,php,Php,我在数据库行结果中循环,创建一个带有createPDF函数的PDF,下面的createPDF函数调用电子邮件函数。我试图了解这些进程是否会同步运行,等待每个函数在下一个循环开始之前完成,或者如果有许多行要处理,是否会造成太多进程一次运行超过内存限制等情况 while ($row = mysqli_fetch_assoc($result)) { global $firstname; $firstname = $row["first"]; global $email;

我在数据库行结果中循环,创建一个带有createPDF函数的PDF,下面的createPDF函数调用电子邮件函数。我试图了解这些进程是否会同步运行,等待每个函数在下一个循环开始之前完成,或者如果有许多行要处理,是否会造成太多进程一次运行超过内存限制等情况

while ($row = mysqli_fetch_assoc($result)) {
    global $firstname;
    $firstname = $row["first"];
    global $email;
    $email = $row["email"];
    createPDF(); // Calls function to send PDF by email when completed
}

此场景的最佳实践是什么?

这取决于PDF创建的外观。如果它在不等待外部进程完成的情况下派生出一个外部进程,那么是的,您可能有许多进程并行运行,并使系统过载。

是的。PHP是同步的。createPDF使用包含在同一页面中的FPDF…不确定外部进程的定义在技术上是什么?FPDF是在纯PHP中实现的,不会创建外部进程-因此,是的,循环将是同步进程