Php 如何在一个foreach中使用两个变量?

Php 如何在一个foreach中使用两个变量?,php,Php,我想用两种不同的分类法(var)生成Boostrap密码。但我无法将两者结合在一起。此外,我在这个论坛上,我尝试了一些Anwer,但我只是得到错误 <?php $temporada = 'temporada'; $capitulo = 'capitulo'; $tax_temporada = get_terms($temporada); $tax_capitulo = get_terms($capitulo); foreach ($tax_temporada as $tax_tempo

我想用两种不同的分类法(var)生成Boostrap密码。但我无法将两者结合在一起。此外,我在这个论坛上,我尝试了一些Anwer,但我只是得到错误

<?php

$temporada = 'temporada';
$capitulo = 'capitulo';
$tax_temporada = get_terms($temporada);
$tax_capitulo = get_terms($capitulo);

foreach ($tax_temporada as $tax_temporada) {
echo '<div class="panel panel-default">';
echo '<div class="panel-heading" role="tab" id="c'. $tax_capitulo->name.'">';
echo '<h4 class="panel-title">' . '<a data-toggle="collapse" data-parent="#accordion" href="#'. $tax_temporada->name.'" aria-expanded="true" aria-controls="' . $tax_temporada->name.'" >Temporada: ' . $tax_temporada->name.'</a></h4>';
echo '</div>';
echo '<div id="'. $tax_temporada->name.'" class="panel-collapse collapse" role="tabpanel" aria-labelledby="c'. $tax_capitulo->name.'">';
echo '<div class="panel-body">';
echo 'Capitulo '. $tax_capitulo->name.' ';
echo '</div>'.'</div>'.'</div>';

}
?> 


问题是我只能得到一个Var,而不能同时得到两个

这一个在这里解决了问题,但事情是我不能超过1美元capitulo内每个$temporada

<?php

$temporada = 'temporada';
$capitulo = 'capitulo';
$tax_temporada = get_terms($temporada);
$tax_capitulo = get_terms($capitulo);

for ($i = 0; $i < count($tax_temporada); $i++) {
echo '<div class="panel panel-default">';
echo '<div class="panel-heading" role="tab" id="c'. $tax_capitulo[$i]->name.'">';
echo '<h4 class="panel-title">' . '<a data-toggle="collapse" data-parent="#accordion" href="#'. $tax_temporada[$i]->name.'" aria-expanded="true" aria-controls="' . $tax_temporada[$i]->name.'" >Temporada: ' . $tax_temporada[$i]->name.'</a></h4>';
echo '</div>';
 //Here Start the $capitulos that go inside of every $temporadas 
echo '<div id="'. $tax_temporada[$i]->name.'" class="panel-collapse collapse" role="tabpanel" aria-labelledby="c'. $tax_capitulo[$i]->name.'">';
echo '<div class="panel-body">';
echo 'Capitulo '. $tax_capitulo[$i]->name.' ';
echo '</div>'.'</div>'.'</div>';

}
?>

这两个都是相同长度的对象数组吗?如果是这样,您可以考虑为循环做一个简单的<代码>,例如:

<?php

$temporada = 'temporada';
$capitulo = 'capitulo';
$tax_temporada = get_terms($temporada);
$tax_capitulo = get_terms($capitulo);

for ($i = 0; $i < count($tax_temporada); $i++) {
    echo '<div class="panel panel-default">';
    echo '<div class="panel-heading" role="tab" id="c'. $tax_capitulo[$i]->name.'">';
    echo '<h4 class="panel-title">' . '<a data-toggle="collapse" data-parent="#accordion" href="#'. $tax_temporada[$i]->name.'" aria-expanded="true" aria-controls="' . $tax_temporada[$i]->name.'" >Temporada: ' . $tax_temporada[$i]->name.'</a></h4>';
    echo '</div>';
    echo '<div id="'. $tax_temporada[$i]->name.'" class="panel-collapse collapse" role="tabpanel" aria-labelledby="c'. $tax_capitulo[$i]->name.'">';
    echo '<div class="panel-body">';
    echo 'Capitulo '. $tax_capitulo[$i]->name.' ';
    echo '</div>'.'</div>'.'</div>';

}
?> 

允许您同时在多个阵列上循环

$tax_temporada = get_terms($temporada);
$tax_capitulo = get_terms($capitulo);

$taxIterator = new MultipleIterator();
$taxIterator->attachIterator(new ArrayIterator($tax_temporada));
$taxIterator->attachIterator(new ArrayIterator($tax_capitulo));
foreach($taxIterator as list($temporada, $capitulo)) {
   ... do what you want here with $temporada and $capitulo
}
编辑


请注意,使用list()解包嵌套数组需要PHP>=5.5.0

那么问题出在哪里?我不确定这部分是否正确:
foreach($tax_temporada as$tax_temporada){
通常是它的
foreach($somethingelse)
问题是我只能得到一个Var,而不是两个你都不能,真的。foreach循环在一个项目上。你可以嵌套循环,或者如果数组的键值/位置有1:1的对应关系,那么
foreach($key=>One as$key=>value){$otherval=$two[$key];}
也可以工作。这与foreach相同($tax_temporada作为$tax_temp)不同之处在于,
for
循环有一个计数器变量,而
foreach
可以有一个计数器变量,这取决于变量中存在的键的顺序。这一个对我有帮助,但只需为每个$temporada显示1$capitulo,我尝试为每个$temporada显示大量$capitulo$temporada@V13Axelforeac呢h($a as$key=>$value)?每个值都可以用这种方式设置键,结果是一样的,但我认为foreach更清晰。我编辑了更多信息,以查看..我尝试为添加另一个,但这破坏了代码。