【问题标题】:How to echo certain number of elements from PHP Array如何从 PHP 数组中回显一定数量的元素
【发布时间】:2010-10-06 13:11:33
【问题描述】:

如果我有一个包含 100 个元素的数组.. 我如何仅回显/显示前 5 个元素?

谢谢你:)

【问题讨论】:

    标签: php arrays


    【解决方案1】:

    LimitIteratorArrayIterator

    $array    = range(1,100);
    $iterator = new LimitIterator(new ArrayIterator($array), 0, 5);
    foreach($iterator as $key => $val) {
        echo "$key => $val", PHP_EOL;
    }
    

    输出:

    0 => 1
    1 => 2
    2 => 3
    3 => 4
    4 => 5
    

    【讨论】:

    • SPL 为 +1。对于手头的情况,语法感觉有点冗长,但很有意义。出于好奇,您知道迭代器是如何在内存方面工作的吗?它们是否与引用一起使用,或者第 2 行是否会创建一个包含前五个元素的副本(从而占用额外的内存?)也许值得一个单独的问题
    • @Pekka 虽然我不知道 C 中的确切实现细节,但我很确定它们可以通过参考工作。它们基本上是堆叠的装饰器。 LimitIterator 跟踪它当前所在的位置,如果超过设置的上限,它将结束迭代。
    【解决方案2】:

    一种选择是使用array_slice()

    显示每个元素后跟换行符:

    echo implode("<br>", array_slice($array, 0, 5));
    

    不适合包含 大量 数据的数组,因为切片将是一个副本,但适合日常使用。

    有关注重资源的方法,请参阅@Svisstack 的答案(现在是@Gordon 的)。

    【讨论】:

      【解决方案3】:
      for ($index=0; $index < min(5, count($arr)); $index++)
      {
          echo $arr[$index];
      }
      

      【讨论】:

        猜你喜欢
        • 2011-04-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-22
        • 2019-04-18
        • 2016-10-05
        相关资源
        最近更新 更多