gpt4 book ai didi

php - 如何使用 PHP 中的 foreach 循环在 html 中创建表格

转载 作者:行者123 更新时间:2023-12-04 03:12:46 25 4
gpt4 key购买 nike

我正在尝试使用 php 中的 foreach 循环创建一个表。我觉得这是一个简单的修复,我可能想多了。我能够从单独的包含文件中提取所有数据,但无法在适当的列中列出列。

我有一个单独的文件,用于提取以下数组:

    <?php
$shop=array(
'cost'=>array('cd1'=>18, 'cd2'=>11, 'cd3'=>11, 'cd4'=>17, 'cd5'=>21),
'name'=>array('cd1'=>'Blink 182', 'cd2'=>'George Jones', 'cd3'=>'Sum 41', 'cd4'=>'Filter', 'cd5'=>'Saliva'),
'quantity'=>array('cd1'=>9, 'cd2'=>8, 'cd3'=>62, 'cd4'=>21, 'cd5'=>41)
);
?>

下面是我试图将上述数据拉入以创建 html 表格的代码:

   <?php
include('shop.php');
$headers=$body="";
$html1 = "<h3>Catalog</h3><table border='1'><tr><th>ID</th>\n";
foreach($catalog as $key=>$value){
$headers .= "<th>".$key."</th>\n";
}
$html2 = "</tr>\n";
// use a foreach loop to create $body from the data
$body= "";
foreach ($catalog as $key=>$value) {
foreach ($value as $values){
$body .= "<tr><td>".$key."</td></tr>\n";
$body .= "<tr><td>".$values."</td></tr>";
}
}
echo '</table>';
$html3 = "</table>";
$result = $html1.$headers.$html2.$body.$html3; // concatenations for html
echo $result;
?>

上面不断列出第一列 ID 中的所有值。

感谢任何提示。

最佳答案

您以错误的顺序遍历数组。外循环需要是行,但 $catalog 的键是列。

$keys = array_keys($catalog);
$first_key = $keys[0];
foreach ($catalog[$first_key] as $id => $value) {
$body .= "<tr><td>" . $id . "</td>";
foreach ($keys as $k) {
$body .= "<td>" . $catalog[$k][$id] . "</td>";
}
$body .= "</tr>";
}

之所以复杂,是因为您的数据组织不当。如果将所有相关信息组合在一起,而不是将它们放在单独的数组中,效果会更好。

$catalog = array(
'cd1' => array('name' => 'Blink 182', 'cost' => 18, 'quantity' => 9),
'cd2' => array('name' => 'George Jones', 'cost' => 11, 'quantity' => 8),
...
);

这是您的嵌套循环可以使用的结构类型。

关于php - 如何使用 PHP 中的 foreach 循环在 html 中创建表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43696391/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com