Возврат первых элементов x из массива

Я хочу вернуть первые 5 элементов из массива. Как я могу это сделать?

Ответ 1

array_slice возвращает срез массива

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

- это код, который вы хотите в своем случае, чтобы вернуть первые пять элементов

Ответ 2

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]])

Если длина опущена, удаляет все из смещения в конец массива. Если длина указана и положительна, то многие элементы будут удалены. Если длина указана и отрицательна, то конец удаленной части будет состоять из множества элементов из конца массива. Совет. Чтобы удалить все из смещения в конец массива, когда указана замена, используйте count ($ input) для длины.

Ответ 3

Если вы просто хотите вывести первые 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 );
  }

?>

Ответ 4

Вы можете использовать функцию array_slice, но будете ли вы использовать другие значения? или только первые 5? потому что если вы будете использовать только первые 5, вы можете использовать LIMIT на SQL.

Ответ 5

Более объектно-ориентированным способом было бы предоставление диапазона методу # []. Например:

Предположим, что вы хотите получить первые 3 элемента из массива.

numbers = [1,2,3,4,5,6]

numbers [0..2] # = > [1,2,3]

Предположим, вы хотите, чтобы первые элементы x из массива.

числа [0..x-1]

Самое замечательное в этом методе - если вы запрашиваете больше элементов, чем массив, он просто возвращает весь массив.

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