[php] 배열에서 첫 x 항목 반환

배열에서 처음 5 개의 항목을 반환하고 싶습니다. 어떻게해야합니까?



답변

array_slice 배열의 슬라이스를 돌려줍니다

$sliced_array = array_slice($array, 0, 5)

첫 다섯 요소를 반환하기 위해 원하는 코드입니다.


답변

array_splice — 배열의 일부를 제거하고 다른 것으로 바꿉니다.

$input = array(1, 2, 3, 4, 5, 6);
array_splice($input, 5); // $input is now array(1, 2, 3, 4, 5)

PHP 매뉴얼에서 :

array array_splice ( array &$input , int $offset [, int $length = 0 [, mixed $replacement]])

경우 길이가 생략 어레이의 끝에 오프셋에서 모두 제거 . 길이가 지정되고 양수이면 많은 요소가 제거됩니다. 길이가 지정되고 음수이면 제거 된 부분의 끝은 배열 끝의 많은 요소가됩니다. 팁 : 교체가 지정된 경우 오프셋에서 배열 끝까지 모든 것을 제거하려면 length에 count ($ input)를 사용하십시오.


답변

처음 5 개 요소 만 출력하려면 다음과 같이 작성해야합니다.

<?php

  if (!empty ( $an_array ) ) {

    $min = min ( count ( $an_array ), 5 );

    $i = 0;

    foreach ($value in $an_array) {

      echo $value;
      $i++;
      if ($i == $min) break;

    }

  }

?>

배열의 일부를 반환하는 함수를 작성하려면 array_slice를 사용해야합니다.

<?php

  function GetElements( $an_array, $elements ) {
    return array_slice( $an_array, 0, $elements );
  }

?>


답변

array_slice 함수를 사용할 수 있지만 다른 값을 사용합니까? 아니면 처음 5 개만? 처음 5 개만 사용하는 경우 LIMIT on SQL을 사용할 수 있기 때문입니다.


답변

보다 객체 지향적 인 방법은 # [] 메소드에 범위를 제공하는 것입니다. 예를 들어 :

배열에서 처음 3 개 항목을 원한다고 가정하십시오.

숫자 = [1,2,3,4,5,6]

숫자 [0..2] # => [1,2,3]

배열에서 첫 x 항목을 원한다고 가정하십시오.

숫자 [0..x-1]

이 방법의 가장 큰 장점은 배열보다 많은 항목을 요청하면 전체 배열을 반환합니다.

숫자 [0..100] # => [1,2,3,4,5,6]


답변