使用Foreach循环只获取最后2个数组

时间:2013-01-08 01:06:46

标签: php mysql arrays foreach

  

可能重复:
  PHP foreach() return only last 50 items

我只需要最后2条记录。 下面的代码返回所有记录。谢谢

<?php 
    foreach ($fields as $field) {
        $type = $field['s_type'];
        $label = $field['s_label'];
        $value = Attributes::newInstance()->getValue($item_id, $field['pk_i_id']);
        if ($type == 'checkbox') {
            if ($value == 'checked') $value = 'Yes';
            else $value = 'No';
        }
?>
        <tr>
            <td style='width: 150px;'><?php _e($label, pg); ?></td>
            <td style='width: 150px;'><?php _e($value, pg); ?></td>
        </tr>

<?php } ?>

2 个答案:

答案 0 :(得分:0)

您可以在迭代之前使用数组切片来管理字段。

$last_two = array_slice($fields, -2);

foreach($last_two as $field) { ... }

虽然如果这是在这个脚本中唯一完成的事情,我会建议重写你的查询结构。

答案 1 :(得分:-1)

你可以使用array_slice和-2作为第二个参数吗?