Php 如何在一个foreach中使用两个变量?
我想用两种不同的分类法(var)生成Boostrap密码。但我无法将两者结合在一起。此外,我在这个论坛上,我尝试了一些Anwer,但我只是得到错误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
<?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更清晰。我编辑了更多信息,以查看..我尝试为添加另一个,但这破坏了代码。