それはあなたの実装に依存します。PHPの関数の99%がブロックしています。意味処理は、現在の機能が完了するまで続行されません。ただし、関数にループが含まれている場合は、特定の条件が満たされた後にループを中断する独自のコードを追加できます。
このようなもの:
foreach ($array as $value) {
perform_task($value);
}
function perform_task($value) {
$start_time = time();
while(true) {
if ((time() - $start_time) > 300) {
return false; // timeout, function took longer than 300 seconds
}
// Other processing
}
}
処理を中断できない別の例:
foreach ($array as $value) {
perform_task($value);
}
function perform_task($value) {
// preg_replace is a blocking function
// There's no way to break out of it after a certain amount of time.
return preg_replace('/pattern/', 'replace', $value);
}