2012-11-04 37 views
2

我有下面列的阵列:回路通过与基于键/值对条件输出阵列

  • 任务
  • 状态

我想打印出的表中显示任务列表,但不显示状态列。相反,对于状态为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($行):

array 
    'Task' => string 'Task A' (length=6) 
    'Status' => string '3' (length=1) 
array 
    'Task' => string 'Task B' (length=6) 
    'Status' => string '0' (length=1) 
+2

展'var_dump($ row);' – nickb

+0

的输出在你的问题中包含你的$行,我们可以帮助更多。 – nickhar

+0

好的 - 只需将它添加到底部的问题即可。谢谢! –

回答

0

相反迭代的键/值对,尽量只用元素本身迭代和检验各指标:

foreach ($row as $task) { 
    $value = ($task['Status'] == '0') ? '<del>' . $task['Task'] . '</del>' : $task['Task']; 
    echo '<td>' . $value . '</td>'; 
}