我正在尝试显示从sql查询生成的数据数组。这很好用。但是我现在希望不显示id属性=值的1项。 代码:
<?php foreach($sheet_list as $key => $sheet) : ?>
<?php if($sheet['id'] == $selected1){unset ($sheet_list[$key]);}?>
<tr>
<td><?=$sheet['title'];?></td>
<td><?php echo date('d F Y', strtotime($sheet['startDate'])); ?></td>
<td><?php echo date('d F Y', strtotime($sheet['endDate'])); ?></td>
<td><input type="radio" name="selected2" id="selected2" value="<?=$sheet['id'];?>" <?php
if ($key == 0) echo ' checked ';
?>/></td>
</tr>
<?php endforeach; ?>
所以这就产生了一个很好的表,但它在foreach循环中我不希望显示1个数组项及其所有属性,其中“id”字段=变量$selected1
我在这里发现了很多问题,但是对于一维或二维数组来说很多。
请帮忙。
答案 0 :(得分:1)
即将结束,您应该使用continue;
代替unset()
:
<?php if($sheet['id'] == $selected1){ continue; } ?>
continue
PHP Docs使循环跳转到下一次迭代,有效地跳过当前迭代,这就是你想要做的。
这样做的好处是,您永远不会修改$sheet_list
数组,而不是unset()
,您将从数组中删除该项。
答案 1 :(得分:0)
如果你真的想取消设置$sheet_list[$selected1]
,为什么不在进入循环之前就这样做呢?
如果您只想跳过此项目的输出,请按照nickb的建议使用continue。