foreach里面的foreach如何调用变量

时间:2013-10-12 11:40:08

标签: php foreach

如何在第一个循环中阻止$ key的值,但是我需要在第二个循环中调用$ key? 第一个循环中$ key的值与第二个循环不同

<?php
$variables = array('ABC' => array('A', 'B', 'C'), 'DEF' => array('D', 'E'));
foreach ($variables as $key => $values){
      echo $key; //the value of $key in first loop is different to the second loop
      foreach($values as $value){
           echo $key; //I want the value of $key is still the value in first loop
      }
}
?>

4 个答案:

答案 0 :(得分:0)

我建议你做这样的事情:

<?php
$variables = array('ABC' => array('A', 'B', 'C'), 'DEF' => array('D', 'E'));
foreach ($variables as $key => $values){
    foreach($values as $value){
        // Here you can access every variables previously declared
        echo '<div id='$key' class='$value'>test</div><br />';
    }
}

你要做的是访问一个你后来才宣布的变量(在foreach循环中)。请记住,如果变量位于同一环境中,则可以访问该变量。

答案 1 :(得分:0)

在您的代码中没有太多信息我假设您正在尝试这样做:

<?php
$variables = array('ABC' => array('A', 'B', 'C'), 'DEF' => array('D', 'E'));
foreach ($variables as $key => $values){
      foreach($values as $value){
          echo "<div id='$key' class='$value'>test</div><br />";
      }
}
?>

将在echo中为您提供$ value和$ key。

答案 2 :(得分:0)

这一行存在问题:

echo '<div id='$key' class='$value'>test</div><br />';
  1. 变量不会在单引号字符串中解析。使用双引号或连接。

  2. 当您在字符串中使用单引号来定义属性时,使用单引号开始和结束字符串是一个问题。转义引号或使用双引号和单引号的组合。

  3. 此时
  4. $value不存在。直到下面的行与foreach一起定义。

答案 3 :(得分:0)

目前的代码工作正常。我没有看到任何问题。