Drupal6PHP:Foreach在同一行上不断重复操作
我已经在Drupal6中创建了一个站点,并且正在尝试在my.tpl(html)中打印不同的类 在这个例子中,我在他们自己的行中列出了两个人。它们都有两个具有不同值的数组,称为“位置”和“首选位置” 我的问题是,我制作了一个foreach,它打印跨距,但每次为ame行重复跨距(这里只有两行)。我似乎在代码中找不到错误。请看一看,任何帮助,或手指指向正确的方向将不胜感激Drupal6PHP:Foreach在同一行上不断重复操作,php,drupal,foreach,row,repeat,Php,Drupal,Foreach,Row,Repeat,我已经在Drupal6中创建了一个站点,并且正在尝试在my.tpl(html)中打印不同的类 在这个例子中,我在他们自己的行中列出了两个人。它们都有两个具有不同值的数组,称为“位置”和“首选位置” 我的问题是,我制作了一个foreach,它打印跨距,但每次为ame行重复跨距(这里只有两行)。我似乎在代码中找不到错误。请看一看,任何帮助,或手指指向正确的方向将不胜感激 foreach ($vars['view']->result as $key => $row) { // pr
foreach ($vars['view']->result as $key => $row) {
// preferred positions on pitch
$outputspanpref = "";
foreach ($row->node_data_field_pref_position_field_pref_position_value as $key =>
$position) {
$keyclass = 'pref-position-' . $key;
$positionclass = strtolower(str_replace(" ","-",$position['value']));
$outputspanpref .= '<span class="' . $keyclass . ' ' . "pref-position" .
'' . $positionclass . '"></span>';
$vars['prefposition'] = $outputspanpref;
}
// secondary positions on pitch
$outputspan = "";
foreach ($row->node_data_field_position_field_position_value as $key =>
$position) {
$keyclass = 'position-' . $key;
$positionclass = strtolower(str_replace(" ","-",$position['value']));
$outputspan .= '<span class="' . $keyclass . ' ' . $positionclass.'
</span>';
$vars['position'] = $outputspan;
}
}
}
foreach($vars['view']->结果为$key=>$row){
//球场上的首选位置
$outputspanpref=“”;
foreach($row->node_data_field_pref_position_field_pref_position_值为$key=>
美元头寸){
$keyclass='pref position-'。$key;
$positionclass=strtolower(str_替换(“,”-“,$position['value']);
$outputspanpref.='';
$vars['prefposition']=$outputspanpref;
}
//球场上的次要位置
$outputspan=“”;
foreach($row->节点\数据\字段\位置\字段\位置\值为$key=>
美元头寸){
$keyclass='position-'。$key;
$positionclass=strtolower(str_替换(“,”-“,$position['value']);
$outputspan.='看起来您正在嵌套的foreach
循环中使用$key
。请尝试对每个后续循环使用$key1
,然后使用$key2
,以此类推
foreach ($vars['view']->result as $key1 => $row) { // 1st forloop
foreach ($row->node_data_field_pref_position_field_pref_position_value as $key2 => $position) { // 2nd forloop
foreach ($row->node_data_field_position_field_position_value as $key3 => $position) { // 3rd forloop
根据您的问题描述。很可能您在循环中使用了相同的引用,因此要更正它,您必须将每一行分配给它自己的唯一变量。如下修复:foreach($vars['view']->result as$row){$outputspanpref=“”;$playerNID=$row->node\u node\u data\u field\u playername\n nid;foreach($row->node_data_field_pref_position_field_pref_position_value as$key=>$position){$keyclass='pref position-'.$key;$positionclass=strtolower(str_replace(“,“-”,$position['value']);$outputspanpref.='Left back$vars['prefsposition][$playerNID]=$outputspanpref;}@rootatwc:虽然它可能也在drupal.stackexchange.com上的主题中,但在这里它仍然完全在主题中……甚至更多,因为这个问题似乎根本不是drupal特有的。@rootatwc-这只是一个普通的PHP编程问题,并不是drupal特有的。