在if语句中有两个foreach循环
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在if语句中有两个foreach循环相关的知识,希望对你有一定的参考价值。
想知道是否可以对if语句进行foreach循环调用,如下所示:
if (class_exists('WooCommerce')) {
foreach (array_combine($val1, $val2) as $key => $row_values)
}
else {
foreach ( $val1 as $key => $row_values )
}
{ begin of loop code
我想要做的是,如果woocommerce插件处于活动状态,则会有一个foreach循环,如果woocommerce不活动,则会有另一个foreach循环。
答案
这是不可能的,因为这是无效的语法。
你可以做的是这样的:
<?php
$iterationArray = class_exists('WooCommerce') ? array_combine($val1, $val2) : $val1;
foreach ($iterationArray as $key => $row_values) {
// begin of loop code
} // end loop
另一答案
如果循环之前的条件分配将用于循环的变量,则需要执行的操作,如下所示:
if ( class_exists( 'WooCommerce' ) ) {
$newVal = array_combine($val1, $val2);
} else {
$newVal = $val1;
}
foreach ( $newVal as $key => $row_values ) {
// do stuff
}
结果将与您尝试的结果相同。但是PHP中不支持您在问题中提出的语法,可以使用上面提出的方法解决。
以上是关于在if语句中有两个foreach循环的主要内容,如果未能解决你的问题,请参考以下文章
带有if和else语句的foreach循环在if语句为假时不执行else语句