0

我正在尝试从 PHP 数组创建两个无序列表,我发现这个线程几乎是我正在寻找的,但我希望第一个列表有 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; ?>
4

3 回答 3

2

以下是如何将数组拆分为 11 个项目,然后使用 array_slice()将其余部分拆分为:

$firsthalf = array_slice($rows, 0, 11);
$secondhalf = array_slice($rows, 11);
于 2013-01-20T23:31:49.893 回答
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
?>
于 2013-01-20T23:33:47.793 回答
1
// $items = count($rows);
// $split = ceil($items/2);
$firsthalf = array_slice($rows, 0, 11);
$secondhalf = array_slice($rows, 11);
于 2013-01-20T23:34:49.717 回答