You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP如何在循环中调用多个数组对应值批量输出HTML表格行

实现方案

你之前提前缓存表格行到$hostingItem的方式会直接执行PHP代码,无法重复填充变量,所以改为循环内逐行渲染的方式即可,具体步骤如下:

步骤1:整理所有对应数组

先确认你所有变量的对应数组,示例格式如下(替换为你的实际数组值即可,要求所有数组下标一一对应,同一下标的值属于同一条主机数据):

$hostingArr = ['主机A', '主机B', '主机C']; // 对应$hosting变量的数组
$hostingStatusArr = ['Active', 'Expired', 'Pending']; // 对应$hostingStatus变量的数组
$hostingStatusColorArr = ['success', 'danger', 'warning']; // 对应$hostingStatusColor变量的数组
$hostingPriceArr = [9.99, 15.99, 29.99]; // 对应$hostingPrice变量的数组
$hostingExpArr = ['2025-10-01', '2024-03-15', '2024-07-20']; // 对应$hostingExp变量的数组
$hostingPeriodArr = ['年付', '半年付', '季付']; // 对应$hostingPeriod变量的数组
$websiteArr = ['demo1.com', 'demo2.com', 'demo3.com']; // 对应$website变量的数组

步骤2:循环渲染表格行

在你的表格<tbody>标签内加入以下循环代码即可:

<tbody>
<?php
// 循环3次,下标从0到2对应数组的3个值
for ($i = 0; $i < 3; $i++) {
    // 为当前循环的变量赋值,取对应下标的数组值
    $hosting = $hostingArr[$i];
    $hostingStatus = $hostingStatusArr[$i];
    $hostingStatusColor = $hostingStatusColorArr[$i];
    $hostingPrice = $hostingPriceArr[$i];
    $hostingExp = $hostingExpArr[$i];
    $hostingPeriod = $hostingPeriodArr[$i];
    $website = $websiteArr[$i];
?>
<tr>
    <td class="text-center"><?php echo $hosting; ?></td>
    <td class="text-center"><?php echo '<span class="badge badge-'. $hostingStatusColor . ' badge-pill">' . $hostingStatus . '</span>'?></td>
    <td class="text-center"><?php echo "€" . $hostingPrice; ?></td>
    <td class="text-center"><?php echo $hostingExp; ?></td>
    <td class="text-center"><?php echo $hostingPeriod; ?></td>
    <td class="text-center">
        <div class="toolbar">
            <div class="toolbar-toggle">...</div>
            <ul class="toolbar-dropdown animated fadeInUp table-controls list-inline">
                <li class="list-inline-item"><a href="https://<?php echo $website?>" target="_blank" class="bs-tooltip" data-original-title="View"><i class="flaticon-view-3"></i></a></li>
                <li class="list-inline-item"><a href="services.php" class="bs-tooltip" data-original-title="Maintenance"><i class="flaticon-settings-4"></i></a></li>
                <?php
                    if ($hostingStatus == "Active") {
                        echo '<li class="list-inline-item"><a href="javascript:void(0);" class="bs-tooltip" data-original-title="Request Deactivation"><i class="flaticon-circle-cross"></i></a></li>';
                    } else {
                        echo '<li class="list-inline-item"><a href="javascript:void(0);" class="bs-tooltip" data-original-title="Request Activation"><i class="flaticon-single-circle-tick"></i></a></li>';
                    }
                ?>
            </ul>
        </div>
    </td>
</tr>
<?php } ?>
</tbody>

可选优化

如果后续数组长度可能变化,不需要固定循环3次,可以把循环条件改为for ($i = 0; $i < count($hostingArr); $i++),会自动适配数组内的元素数量输出对应行数。


内容的提问来源于stack exchange,提问作者Dinos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 07:39:02