Php 如何在html水平表中创建数组每个数组分为2列

Php 如何在html水平表中创建数组每个数组分为2列,php,Php,2个不同长度的数组 $status = array( array("up","down","down","up"), array("down","up","up","down")); $room = array("RM101", "RM102","RM103","RM104","RM105", "RM106","RM107","RM108"); 我们怎么能有两列,顶部标题为$room数组,行标题为$status 该表应如下所示: foreach ($r

2个不同长度的数组

$status = array(
          array("up","down","down","up"),
          array("down","up","up","down"));

$room = array("RM101", "RM102","RM103","RM104","RM105", "RM106","RM107","RM108");
我们怎么能有两列,顶部标题为
$room
数组,行标题为
$status

该表应如下所示:

foreach ($rows as $row) {
$similar_com .= "<tr>";
$similar_com .= "<td><img style='width: 100px; height: 100px;' src='$row->image_url' alt='$row->model_no' /><br />$row->name</td>";
$similar_com .= "<td>$row->width mm</td>";
...
}

请帮我解决这个问题,我是PHP编程新手

请看下面的代码,我确实尝试过

 <?PHP
function room(){
    $n = 0;
    $rooms = array("RM101","RM102","RM103","RM104","RM105","RM106","RM107","RM108");
    {
        if ($n % 24 == 0) { 
        echo '<tr><td>'.$rooms[$m].'</td>';   
        }
        else 
        {
        echo '<td>'.$rooms[$m].'</td>'; 
        }
        $n++;
    }
}

function status(){
    $c=0;
    $nodes = array('http://x.x.xx.xx/rpFirstPageStatistics.html','http://x.x.xx.xx/rpFirstPageStatistics.html');
    $node_count = count($nodes);

    $curl_arr = array();
    $master = curl_multi_init();

    for($i = 0; $i < $node_count; $i++)
    {
    $Username = "xxx";
    $Password = "xxx";

        $url =$nodes[$i];
        $curl_arr[$i] = curl_init($url);
        curl_setopt($curl_arr[$i], CURLOPT_RETURNTRANSFER, true);
        curl_setopt($curl_arr[$i], CURLOPT_USERPWD, "$Username:$Password");  
        curl_multi_add_handle($master, $curl_arr[$i]);

    }

    do {
        curl_multi_exec($master,$running);
    } while($running > 0);

    for($i = 0; $i < $node_count; $i++)
    {
        $results = curl_multi_getcontent  ( $curl_arr[$i]  );
        preg_match_all('~<\/td><TD  width="65">(.*?)<\/td>~s', $results, $status); 
        foreach ($status as $value => $values){
        }
        foreach (array_slice($values,2) as $x=>$x_value){
            if ($c % 24 == 0) {
                echo '<tr><td>'.$x_value.'</td>';  
            }else {
                echo '<td>'.$x_value.'</td>'; 
            }
            $c++;
        }
    }
}
?>
尝试以下格式:

HTML:

<table>
<thead>
    <tr>
        <th>Product</th>
        <th>Width</th>
        <th>Material</th>
    </tr>
</thead>
<tbody>
    <tr>
        <th><img /></th>
        <td>50mm</td>
        <td>Plastic</td>
    </tr>
</tbody>
</table>

产品
宽度
材料
图像“\u url”alt='$row->model\u no'/>
$row->name”; $similor_com.=“$row->width mm”; ... }
几乎所有这些都可以帮助您

您可以使用将
$status
中的子数组合并到一个包含8项的数组中。如果您的PHP太旧,无法使用运算符,则可以使用

假设
$status
数组总共包含与
$room
数组相同数量的项目,则可以将它们组合到一个列表中,其中rooms作为键,status作为值。然后,您就有了这样一个数组:

foreach ($rows as $row) {
$similar_com .= "<tr>";
$similar_com .= "<td><img style='width: 100px; height: 100px;' src='$row->image_url' alt='$row->model_no' /><br />$row->name</td>";
$similar_com .= "<td>$row->width mm</td>";
...
}
要将其拆分为两列行,请将
$preserve\u keys
标志设置为true

["RM101" => "up", "RM102" => "down", "RM103" => "down", ...]
现在数组大体上是您想要的结构,它只是一个在行上循环并输出HTML的例子。在每个块中,我们可以使用它来获取房间名称对,以及(严格来说这不是必需的)获取状态对,并将数组连接到一个字符串中

把所有这些放在一起,你会得到

[["RM101" => "up", "RM102" => "down"], ["RM103" => "down", ...], ...]
$status=array(
数组(“向上”、“向下”、“向下”、“向上”),
数组(“向下”、“向上”、“向上”、“向下”);
$room=阵列(“RM101”、“RM102”、“RM103”、“RM104”、“RM105”、“RM106”、“RM107”、“RM108”);
回声“;
foreach(数组块(数组组合($room,数组合并(…$status)),2,true)
作为$block){
echo“”。内爆(“,数组_键($row))。”;
echo“”。内爆(“,数组_值($row))。”;
}
回声“;

请添加您尝试过的代码,因此这不是编码服务。我不确定您所做的编辑是否让问题变得更清楚……谢谢Matt Raines。这正是我所需要的。因此,可以将所有包含“down”值的td涂成颜色"; 我是否需要使用Javascript,或者是否有解决方法?您可能应该提出一个新问题,以特定的方式解决这个问题。但是,是的,可以使用Javascript或PHP。如果您使用PHP,您将无法再使用
内爆
。相反,您应该使用
foreach
循环遍历
$row
中的值,如果值为“down”,则为
标记输出不同的类或样式属性。