while (логическое_выражение){
тело цикла;
}
оператор;
在每次迭代中,首先执行logical_expression( $arPath = $rsPath->GetNext()),如果为true( true),则执行循环体。因为在 php 中执行是从右到左发生的,也就是说,函数首先被调用GetNext(),对象$rsPath,之后它 ( GetNext()) 将返回的值被分配给变量$arPath,这将被检查是否为真,也就是说,会有是一个逻辑表达式。每次调用时,下一个数组元素将被写入GetNext()变量$arPath,选择结果数组的内部指针将移动到下一个元素,该元素将在下次调用该方法时返回GetNext()。如果到达选择结果数组的末尾,该方法GetNext()将返回false, which will be assigned to the $arPath variable. If the logical_expression, in this case the $arPath variable, is not true( false), the loop body will not be executed.
带有 while 前提条件的循环根据以下原则工作:
计算逻辑表达式的值。如果值为真,则执行循环体;否则,我们转到循环后面的语句。
在每次迭代中,首先执行logical_expression(
$arPath = $rsPath->GetNext()
),如果为true(true
),则执行循环体。因为在 php 中执行是从右到左发生的,也就是说,函数首先被调用GetNext()
,对象$rsPath
,之后它 (GetNext()
) 将返回的值被分配给变量$arPath
,这将被检查是否为真,也就是说,会有是一个逻辑表达式。每次调用时,下一个数组元素将被写入GetNext()
变量$arPath
,选择结果数组的内部指针将移动到下一个元素,该元素将在下次调用该方法时返回GetNext()
。如果到达选择结果数组的末尾,该方法GetNext()
将返回false
, which will be assigned to the $arPath variable. If the logical_expression, in this case the $arPath variable, is not true(false
), the loop body will not be executed.$rsPath->GetNext()
返回分配给 的内容$arPath
,然后检查逻辑上下文的值以确定继续循环的条件。停止条件是对象
$arPath
变为false
。