想知道是否可以对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循环。
答案 0 :(得分:3)
这是不可能的,因为这是无效的语法。
你可以做的事情是这样的:
<?php
$iterationArray = class_exists('WooCommerce') ? array_combine($val1, $val2) : $val1;
foreach ($iterationArray as $key => $row_values) {
// begin of loop code
} // end loop
答案 1 :(得分:0)
如果循环前的条件分配你将用于循环的变量,你需要做什么,就像这样:
if ( class_exists( 'WooCommerce' ) ) {
$newVal = array_combine($val1, $val2);
} else {
$newVal = $val1;
}
foreach ( $newVal as $key => $row_values ) {
// do stuff
}
结果与您尝试的结果相同。但是PHP中不支持您在问题中提出的语法,并且可以使用上面提出的方法解决。