[英]Create table from 2 Arrays PHP
我尝试在 HTML 中获得一个包含 3 行的表。 数据来自 XML 文件,我把它放在一个数组中,并用表中的 foreach 解析它。 问题是 Output 仅正确显示一个数组,而第二个数组仅显示 1 个 PRICE of 5。5 个不同的价格在数组“$recordpElements”中,我已经检查过了。 我做错了什么? 请参见下图中的示例。
public function xmlParserVB():string { global $obj; $valuesvb = $this->xml->xpath("OBJEKT[@ID='$obj']//SAISON"); $valuesp = $this->xml->xpath("//OBJEKT[@ID='$obj']//SAISON//PRICE"); foreach (array_slice($valuesp,0,5) as $recordpElements); foreach (array_slice($valuesvb,0,5) as $recordvbElements) { $display.= '<tr>'; $display.= '<td>'.$recordvbElements->DESCRIPTION.'</td>'; $display.= '<td>'.$recordvbElements->FROM.' - '.$recordvbElements->UNTIL.'</td>'; $display.= '<td>'.$recordpElements->PRICE.' €</td>'; $display.= '</tr>'; } $display.= ''; return $display; }
我不明白你的第 5 行代码。
foreach (array_slice($valuesp,0,5) as $recordpElements);
如果您运行此代码,那么您将在$recordpElements
中获得array_slice($valuesp,0,5)
的最后一条记录
所以..您将在$recordpElements
recordpElements 中获得$valuesp
数组的第 5 条记录。
我不明白为什么价格数组( $valuesp
)和产品数组( $valuesvb
)应该分开存在,但假设这是正确的,如果产品序列和价格序列匹配,你应该尝试这样的事情:
$price = array_slice($valuesp,0,5);
$index = 0;
foreach (array_slice($valuesvb,0,5) as $recordvbElements)
{
$display .= '<tr>';
$display .= '<td>'.$recordvbElements->DESCRIPTION.'</td>';
$display .= '<td>'.$recordvbElements->FROM.' - '.$recordvbElements->UNTIL.'</td>';
$display .= '<td>'.$price[$index]->PRICE.' €</td>';
$display .= '</tr>';
$index++;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.