Foreach 循环仅显示数组中的一个值

Foreach Loop Only Displaying One Value From Array

我已经尝试研究与我的问题类似的其他问题,但我还没有找到任何具体解决这个问题的方法。我正在使用 mysqli 选择数据并将其显示在 table 中。 table_yard 列可以有多个值,所以我分解了这些值并将它们存储为要循环的数组,然后将结果存储在变量 $yard_name 中。我稍后将此变量分配给我的 table 中的一行($get 正在存储 sql 查询):

 while ($row = mysqli_fetch_assoc($get)) {
    $yards = explode(",", $row[table_yard]);
foreach ($yards as $yard) {
    $yard_name = $yard . ", ";
}
    $table_rows .= "<tr>
                <td>" . mdy($row[table_date]) . "</td>
                <td>" . $yard_name . "</td>
                </tr>";

问题是,如果该数组中有多个值,它只显示第一项。我 运行 在 $yards 上进行调试以查看它是否甚至获取了数组的所有值,它是,如下所示:

Array (
[0] => 711
[1] => 2793
[2] => 988
)

不过,<td> 单元格中显示的是:

711, 

我要它显示的是:

711, 2793, 988 

我确定这是菜鸟的错误,但我想不通。预先感谢您的帮助。

未经测试,但这应该有助于解决问题。在循环之前定义 $yard_name,这样它就不会经常被覆盖

while ($row = mysqli_fetch_assoc($get)) {
    $yards = explode(",", $row[table_yard]);
    $yard_name = "";
    foreach ($yards as $yard) {
        $yard_name .= $yard . ", "; // Add to the string instead of overwriting
    }
    $table_rows .= "<tr>
        <td>" . mdy($row[table_date]) . "</td>
        <td>" . trim($yard_name, ",") . "</td>
    </tr>";
}