使用基于键/值对的条件输出循环数组

时间:2012-11-04 02:20:19

标签: php foreach

我有一个包含以下列的数组:

  • 任务
  • 状态

我想打印一个显示任务列表但不显示状态列的表。相反,对于状态= 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)

1 个答案:

答案 0 :(得分:0)

不是迭代为键/值对,而是尝试仅使用元素本身进行迭代并检查各个索引:

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