Php 调用函数时是否有可能中断循环?

Php 调用函数时是否有可能中断循环?,php,loops,Php,Loops,假设我有一个简单的代码: while(1) { myend(); } function myend() { echo rand(0,10); echo "<br>"; if(rand(0,10) < 3) break; } while(1){ myend(); } 函数myend(){ 回声兰德(0,10); 回声“”; 如果(rand(0,10)

假设我有一个简单的代码:

while(1) {
  myend();
}

function myend() {
  echo rand(0,10);
  echo "<br>";
  if(rand(0,10) < 3) break;
}
while(1){
myend();
}
函数myend(){
回声兰德(0,10);
回声“
”; 如果(rand(0,10)<3)中断; }
这不适用于错误代码“致命错误:无法在第行中断/继续1级”


那么,在子函数执行期间是否有可能终止循环?

使循环条件取决于函数的返回值:

$continue = true;
while( $continue) {
    $continue = myend();
}
然后,将函数更改为:

function myend() {
  echo rand(0,10);
  echo "<br>";
  return (rand(0,10) < 3) ? false : true;
}
函数myend(){
回声兰德(0,10);
回声“
”; 返回值(兰特(0,10)<3)?假:真; }
使循环条件取决于函数的返回值:

$continue = true;
while( $continue) {
    $continue = myend();
}
然后,将函数更改为:

function myend() {
  echo rand(0,10);
  echo "<br>";
  return (rand(0,10) < 3) ? false : true;
}
函数myend(){
回声兰德(0,10);
回声“
”; 返回值(兰特(0,10)<3)?假:真; }
没有。不应该有;如果您的函数在不在循环中的某个地方被调用,您的代码将停止运行。在上面的示例中,调用代码应该检查函数的返回,然后决定是否停止循环本身。例如:

while(1) {
  if (myend())
    break;
}

function myend() {
  echo rand(0,10);
  echo "<br>";
  return rand(0,10) < 3;
}
while(1){
if(myend())
打破
}
函数myend(){
回声兰德(0,10);
回声“
”; 返回rand(0,10)<3; }
没有。不应该有;如果您的函数在不在循环中的某个地方被调用,您的代码将停止运行。在上面的示例中,调用代码应该检查函数的返回,然后决定是否停止循环本身。例如:

while(1) {
  if (myend())
    break;
}

function myend() {
  echo rand(0,10);
  echo "<br>";
  return rand(0,10) < 3;
}
while(1){
if(myend())
打破
}
函数myend(){
回声兰德(0,10);
回声“
”; 返回rand(0,10)<3; }
使用:

$cond=true;
while($cond){
$cond=myend();
}
函数myend(){
回声兰德(0,10);
回声“
”; 如果(rand(0,10)<3)返回false; }
使用:

$cond=true;
while($cond){
$cond=myend();
}
函数myend(){
回声兰德(0,10);
回声“
”; 如果(rand(0,10)<3)返回false; }
No,您必须从函数返回一个值,并根据其值中断。No,您必须从函数返回一个值,并根据其值中断。相反,
do{…}while(fun())
myend
在我的例子中也将被计算。相反,
do{…}while(fun())
myend
在我的情况下也将进行评估。