Вернувшись первые X элементов из массива
Я хочу вернуть первые 5 элементов из массива. Как я могу это сделать?
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]])
Если длина опущена, удаляет все от смещения до конца массива. Если длина указана и положительна, то многие элементы будут удалены. Если длина указана и отрицательна, то конец удаленной части будет столько элементов из конца массива. Совет: чтобы удалить все, от смещения до конца массива, когда замена также указана, используйте 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 Вы можете использовать ограничение на 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]