PHP Table 列名

PHP Table Column name

我有一个从数据库中获取 table 的脚本,该脚本是用 PHP.

编写的

我正在尝试为第一行中的每一列添加名称:

代码的一部分是:

$rows = [];
foreach (range(1, 4) as $row) {
    $rows[$row] = "";
}
$rows["Name"] = $order->user->aFirstName;
$rows["Last Name"] = $alumn->aLastName;
$rows["Age"] = $alumn->aAge;
$rows["Gender"] = $alumn->aGender;
$string = "";
foreach ($rows as $r) {
    $string .= $r . "\t";
}

我想得到的是

1 | Name | Last Name | Age | Gender
2 | John | Des       | 45  | Male.

我现在得到的是第一行的数据。

1 | John | Des       | 45  | Male.

有什么建议吗?谢谢

您可以使用 https://www.php.net/manual/de/function.array-unshift.php

$rows 中创建一个新的第一个元素
$labels = ["Name" => "NameLabel", "Last Name" => "Last NameLabel" ...];
array_unshift($rows, $labels);

所以 $rows 数组的第一个元素是标签。现在,当 table 生成时,将在顶部显示标签。

您加载的数组不正确。

我假设您不想从可用的元数据中获取列名,并且很乐意手动添加列名,如果没有请告诉我

$rows = [];
// add labels
$rows[] = ["Name", "Last Name", "Age", "Gender"];
#$rows[] = [$order->user->aFirstName, $alumn->aLastName, $alumn->aAge, $alumn->aGender];
// I dont have your data, so this is to simulate the above line
$rows[] = ['John', 'Des', 45, 'Male'];

$string = '';
foreach ($rows as $i => $row) {
    $n = $i+1;
    $string .= "$n\t";
    foreach ($row as $col){
        $string .= $col . "\t";
    }
    $string .= '<br>'. PHP_EOL;
}


print_r($string);

结果,如您所见,制表符不足以正确格式化 table

1   Name    Last Name   Age Gender  <br>
2   John    Des 45  Male    <br>