我有一个包含以下列的数组:
我想打印一个显示任务列表但不显示状态列的表。相反,对于状态= 0的任务,我想添加标记<del>
以使完成的任务被删除。这是我目前的代码:
foreach ($row as $key => $val){
if ($key != 'Status') print "<td>$val</td>";
else if ($val == '0') print "<td><del>$val</del></td>";
}
这似乎是正确的,但是当我将其打印出来时,它会打印出<del>
标记的所有任务。所以基本上每次都会运行“else”子句。
这是var_dump($ row):
array
'Task' => string 'Task A' (length=6)
'Status' => string '3' (length=1)
array
'Task' => string 'Task B' (length=6)
'Status' => string '0' (length=1)
答案 0 :(得分:0)
不是迭代为键/值对,而是尝试仅使用元素本身进行迭代并检查各个索引:
foreach ($row as $task) {
$value = ($task['Status'] == '0') ? '<del>' . $task['Task'] . '</del>' : $task['Task'];
echo '<td>' . $value . '</td>';
}