我需要帮助,试图弄清楚如何在这个foreach循环中设置我的第二个条件($column == 'Status)
,因为它没有使用我的color_array。
我创建了一个数组color_array
,用于将值设置为特定颜色:
$color_array = array(
'Succeeded' => 'blue',
'Failed' => 'red',
'Review Logs' => 'yellow'
);
我希望我的列Status
能够进行颜色编码。我的foreach循环在这里创建了我的表:
$keys = array('Server', 'Target','Set','Time', 'Length','Size','Status');
echo '<table id="stats_1"><tr>';
foreach ($keys as $column) {
echo '<th>' . $column . '</th>';
}
echo '</tr>';
foreach ($data as $row){
foreach ($keys as $column){
if (isset($row[$column])){
if ($column == 'Server'){
echo '<td> <a href="' . $server_array[$row[$column]] . '">' . $row[$column] . '</a></td>';
} else {
echo '<td>' . $row[$column] . '</td>';
}
if ($column == 'Status'){ //2nd condition here
echo '<td> <font color="' . $color_array[$row[$column]] . '">' . $row[$column] . '</font></td>';
} else {
echo '<td>' . $row[$column] . '</td>';
}
} elseif ($column == 'Length') {
echo '<td> n/a </td>';
} elseif ($column == 'Size') {
echo '<td> n/a </td>';
} else {
echo '<td> </td>';
}
}
}
echo '</table>';
第一种情况($column == 'Server')
工作正常,但在添加第二种情况后,我认为它会以同样的方式工作吗?但它不是......不知怎的,我的逻辑错了。如何让第二个案例起作用?感谢。
答案 0 :(得分:2)
我认为应该是这样的事情:
if ($column == 'Server'){
echo '<td> <a href="' . $server_array[$row[$column]] . '">' . $row[$column] . '</a></td>';
}elseif ($column == 'Status'){ //2nd condition here
echo '<td> <font color="' . $color_array[$row[$column]] . '">' . $row[$column] . '</font></td>';
} else {
echo '<td>' . $row[$column] . '</td>';
}
答案 1 :(得分:1)
你的意思是这么说吗?
if (isset($row[$column])){
if ($column == 'Server'){
echo '<td> <a href="' . $server_array[$row[$column]] . '">' . $row[$column] . '</a></td>';
} elseif ($column == 'Status'){ //2nd condition here
echo '<td> <font color="' . $color_array[$row[$column]] . '">' . $row[$column] . '</font></td>';
} else {
echo '<td>' . $row[$column] . '</td>';
}
} elseif ($column == 'Length') {
echo '<td> n/a </td>';
} elseif ($column == 'Size') {
echo '<td> n/a </td>';
} else {
echo '<td> </td>';
}