PHP从数组创建两个无序列表

时间:2013-01-20 23:26:54

标签: php html-lists

我正在尝试从PHP数组中创建两个无序列表,我发现this thread这正是我正在寻找的,但我希望第一个列表有11个项目,第二个列表剩下的。这是我的代码:

<?php if ($rows) : 

    $items = count($rows);
    $split = ceil($items/2);
    $firsthalf = array_slice($rows,$split);
    $secondhalf = array_slice($rows,0,$split);
?>

    <div class="tickets">

      <div class="col1">
        <ul>
          <?php foreach ($firsthalf as $item) : ?>
          <li><a href="">test 1</a></li>
          <?php endforeach; ?>
        </ul>
      </div>

      <div class="col2">
        <ul>
          <?php foreach ($secondhalf as $item) : ?>
          <li><a href="">test 2</a></li>
          <?php endforeach; ?>
        </ul>
      </div>

      <div class="clear"></div>
    </div>

<?php endif; ?>

3 个答案:

答案 0 :(得分:2)

以下是如何将数组拆分为11个项目,然后是其余的using array_slice()

$firsthalf = array_slice($rows, 0, 11);
$secondhalf = array_slice($rows, 11);

答案 1 :(得分:1)

如果您查看array_slice文档,可以看到您将分割的大小指定为第三个参数,而第二个是偏移:

<?php 
    if ($rows) : 
      $firsthalf = array_slice($rows, 0, 11); // returns 11 rows from the start
      $secondhalf = array_slice($rows, 11); // returns everything after the 11th row
?>

答案 2 :(得分:1)

// $items = count($rows);
// $split = ceil($items/2);
$firsthalf = array_slice($rows, 0, 11);
$secondhalf = array_slice($rows, 11);