【问题标题】:How to get First 10 Values of array with PHP [duplicate]如何使用 PHP 获取数组的前 10 个值 [重复]
【发布时间】:2018-07-07 18:50:33
【问题描述】:

我有数组,我需要打印数组的前 10 个值

我的数组:

    Array

        [0] => Hello
        [1] => first
        [2] => nice
        [3] => loost
        [4] => emy
        [6] => rood
        [7] => 1599
        [8] => 34345
        [9] => 1313
        [10] => 45667
        [11] => 5678
        [12] => 35546
        [13] => 8877
        [14] => 3434
        [15] => 56767
        [16] => 7778
        [17] => 9987
        [18] => 8842
        [19] => 1223

array_slice 不能解决我的问题! 感谢您的帮助

【问题讨论】:

  • $arr[0] - $arr[9]?
  • 是 $arr[0] - $arr[10]
  • 使用for loops?
  • 循环生成这个数组 YES
  • 前 10 个是 数组 0 - 9。所以将其打印为$arr[0] 等等。您可以使用循环使其更容易。

标签: php arrays


【解决方案1】:

使用array_slice

array_slice($array, 0, 10);

语法array_slice(array,start,length,preserve)

阅读 - PHP: Extract a slice of the array

【讨论】:

  • 第三个参数应该是 10。因为它代表了所需数组的长度。
【解决方案2】:

你可以用计数器申请foreach:-

$counter =0;
foreach($array as $arr){
  if($counter<10){
     echo $arr.PHP_EOL;
  }
  $counter++;
}

输出:- https://eval.in/943912

【讨论】:

    【解决方案3】:

    检查array_splice 是否解决了您的问题。

    <?php
        $arr = [1,2,3,4,5];
    
        $newArr = array_splice($arr, 0, 3);
    
        echo '<pre>';
        print_r($arr);
        print_r($newArr);
    

    您在上面的示例中看到,我已经拼接出数组中的前三个元素 - $arr,这将给我一个新数组 - $newArr 与这三个元素。

    参数是:

    • 源数组 -- $arr
    • 起始索引 -- 0
    • 需要切片的元素的长度(即数量) -- 3

    array_splice() 方法在您需要编辑源数组的情况下是有效的。在我们的例子中,$arr 将只包含元素 [4,5]。

    看看这对你的场景是否有用。

    【讨论】:

    • 不要只发布链接。您应该始终包含一个示例,或者它只是伪装成答案的评论。答案适用于解决方案
    • 感谢 Magnus 的指导,编辑它并做同样的事情。
    【解决方案4】:
    <?php 
    $array = array('Hello','first','nice','loost','emy','rood',1599,34345,1313,45667,5678,35546,8877,3434,56767,7778,9987,8842,1223);
    $i =  0 ;
    foreach($array as $key=>$value)
    {
        if($i <10){
        echo $value.'<br/>';
        }
        $i++;
    }
    ?>
    

    输出

    你好

    第一

    不错

    输了

    我的

    1599

    34345

    1313

    45667

    【讨论】:

      【解决方案5】:

      我觉得这样更好。

       # $myarray is the array 
       # you want to search
       $count = 0;
       foreach ( $myarray as $item ) {
         if ($count < 10)
            echo $item;
         $count++;
       }
      

      【讨论】:

      • 如果数组只包含9个或更少,则根本不会打印任何元素。
      • 是的。由于问题要求前 10 个值。
      • 谢谢@MagnusEriksson。我刚刚修好了。
      猜你喜欢
      • 2020-03-31
      • 1970-01-01
      • 2016-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-13
      • 1970-01-01
      • 2011-10-06
      相关资源
      最近更新 更多