-2

如何防止 $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

4 回答 4

0

这条线有问题:

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

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

  3. $value此时不存在。直到下面带有 foreach 的行才定义它。

于 2013-10-12T11:49:30.160 回答
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 循环中)。请记住,如果变量位于同一环境中,您可以访问它。

于 2013-10-12T11:45:56.387 回答
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。

于 2013-10-12T11:46:09.793 回答
0

当前代码运行良好。我看不出有什么问题。

于 2013-10-12T12:55:38.800 回答