为带有条件的多个关联数组寻找合适的代码结构

时间:2019-04-10 17:48:24

标签: php arrays multidimensional-array associative

我在让foreach循环正常工作时遇到问题。在值匹配后中断foreach之后,它似乎没有遍历数组的其余部分。

如果我将elseif块排除在内部,则按预期工作。使用elseif以及是否具有中断2,$ ipaddr的值不会改变。

foreach循环是否处于while循环内,会导致foreach循环重置或重新开始?

我尝试使用Break and Continue,但它们似乎无济于事。

while ( $row = sqlsrv_fetch_array($sqlquery, SQLSRV_FETCH_ASSOC) ) {
     echo "<tr><td>"
     foreach ($query['result']['nat']['rules'] as $value) {
          foreach ($value as $data) {
               $daddr = substr($data['destination']['member'], 4);
               $ipaddr = str_replace("host_","",$data['destination-translation']['translated-address']);
               if ( ( array_key_exists('destination-translation', $data))) {
                    if ($daddr == $row['VIP/NAT'])  {
                         echo "<td>" . $daddr . "</td><td>" . $ipaddr . "</td><td>" . "STATIC" . "</td></td>";
                    }
                    else {
                          echo "<td> </td><td>" . $ipaddr . "</td><td> </td></tr>";
                          break 2;
                    }
                }
           }
      }
 }

0 个答案:

没有答案