如何在第一个循环中阻止$ 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
}
}
?>
答案 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 />';
变量不会在单引号字符串中解析。使用双引号或连接。
当您在字符串中使用单引号来定义属性时,使用单引号开始和结束字符串是一个问题。转义引号或使用双引号和单引号的组合。
$value
不存在。直到下面的行与foreach一起定义。
答案 3 :(得分:0)
目前的代码工作正常。我没有看到任何问题。