Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php if语句上的两个foreach循环_Php_Loops_If Statement_Foreach - Fatal编程技术网

Php if语句上的两个foreach循环

Php if语句上的两个foreach循环,php,loops,if-statement,foreach,Php,Loops,If Statement,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插件处于活动状态,我会尝试使用一个

想知道是否有可能对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

这是不可能的,因为这是无效的语法

你能做的就是这样:

<?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 ( 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()语句中已经有两个foreach。否。您可以将数组只分配给if/else中的一个变量,然后在foreach循环中使用分配的数组。您可以与我们分享您正在尝试的操作吗?