- array_slice
- Parameters
- Return Values
- Examples
- See Also
- array_slice
- Список параметров
- Возвращаемые значения
- Список изменений
- Примеры
- PHP array_slice function: A comprehensive guide
- What is the PHP array_slice function?
- How to use the PHP array_slice function?
- Practical examples of using the PHP array_slice function
- Paginating results
- Removing elements from an array
- Reordering elements in an array
- Conclusion
- Функция array_slice
- Синтаксис
- Пример
- Пример
- Пример
- Пример
- Пример
- Пример
- Пример
- Смотрите также
array_slice
array_slice() returns the sequence of elements from the array array as specified by the offset and length parameters.
Parameters
If offset is non-negative, the sequence will start at that offset in the array .
If offset is negative, the sequence will start that far from the end of the array .
Note:
The offset parameter denotes the position in the array, not the key.
If length is given and is positive, then the sequence will have up to that many elements in it.
If the array is shorter than the length , then only the available array elements will be present.
If length is given and is negative then the sequence will stop that many elements from the end of the array.
If it is omitted, then the sequence will have everything from offset up until the end of the array .
Note:
array_slice() will reorder and reset the integer array indices by default. This behaviour can be changed by setting preserve_keys to true . String keys are always preserved, regardless of this parameter.
Return Values
Returns the slice. If the offset is larger than the size of the array, an empty array is returned.
Examples
Example #1 array_slice() examples
$output = array_slice ( $input , 2 ); // returns «c», «d», and «e»
$output = array_slice ( $input , — 2 , 1 ); // returns «d»
$output = array_slice ( $input , 0 , 3 ); // returns «a», «b», and «c»
// note the differences in the array keys
print_r ( array_slice ( $input , 2 , — 1 ));
print_r ( array_slice ( $input , 2 , — 1 , true ));
?>
The above example will output:
Array ( [0] => c [1] => d ) Array ( [2] => c [3] => d )
Example #2 array_slice() and one-based array
The above example will output:
Example #3 array_slice() and array with mixed keys
$ar = array( ‘a’ => ‘apple’ , ‘b’ => ‘banana’ , ’42’ => ‘pear’ , ‘d’ => ‘orange’ );
print_r ( array_slice ( $ar , 0 , 3 ));
print_r ( array_slice ( $ar , 0 , 3 , true ));
?>?php
The above example will output:
Array ( [a] => apple [b] => banana [0] => pear ) Array ( [a] => apple [b] => banana [42] => pear )
See Also
- array_chunk() — Split an array into chunks
- array_splice() — Remove a portion of the array and replace it with something else
- unset() — Unset a given variable
- Array Functions
- array_change_key_case
- array_chunk
- array_column
- array_combine
- array_count_values
- array_diff_assoc
- array_diff_key
- array_diff_uassoc
- array_diff_ukey
- array_diff
- array_fill_keys
- array_fill
- array_filter
- array_flip
- array_intersect_assoc
- array_intersect_key
- array_intersect_uassoc
- array_intersect_ukey
- array_intersect
- array_is_list
- array_key_exists
- array_key_first
- array_key_last
- array_keys
- array_map
- array_merge_recursive
- array_merge
- array_multisort
- array_pad
- array_pop
- array_product
- array_push
- array_rand
- array_reduce
- array_replace_recursive
- array_replace
- array_reverse
- array_search
- array_shift
- array_slice
- array_splice
- array_sum
- array_udiff_assoc
- array_udiff_uassoc
- array_udiff
- array_uintersect_assoc
- array_uintersect_uassoc
- array_uintersect
- array_unique
- array_unshift
- array_values
- array_walk_recursive
- array_walk
- array
- arsort
- asort
- compact
- count
- current
- end
- extract
- in_array
- key_exists
- key
- krsort
- ksort
- list
- natcasesort
- natsort
- next
- pos
- prev
- range
- reset
- rsort
- shuffle
- sizeof
- sort
- uasort
- uksort
- usort
- each
array_slice
array_slice() возвращает последовательность элементов массива array , определённую параметрами offset и length .
Список параметров
Если параметр offset неотрицателен, последовательность начнётся на указанном расстоянии от начала array . Если offset отрицателен, последовательность начнётся на расстоянии указанном расстоянии от конца array .
Если в эту функцию передан положительный параметр length , последовательность будет включать количество элементов меньшее или равное length , length , length . Если количество элементов массива меньше чем параметр length , то только доступные элементы массива будут присутствовать. Если в эту функцию передан отрицательный параметр length , последовательность остановится на указанном расстоянии от конца массива. Если он опущен, последовательность будет содержать все элементы с offset до конца массива array .
Обратите внимание, что по умолчанию array_slice() сбрасывает ключи массива. Вы можете переопределить это поведение, установив параметр preserve_keys в TRUE .
Возвращаемые значения
Список изменений
Версия Описание 5.2.4 Значение по умолчанию для параметра length было изменено на NULL. Значение NULL для length теперь указывает функции использовать длину массива array . До этой версии NULL для length приравнивался к нулю (ничего не возвращалось). 5.0.2 Добавлен необязательный параметр preserve_keys . Примеры
Пример #1 Пример использования array_slice()
$output = array_slice ( $input , 2 ); // возвращает «c», «d», и «e»
$output = array_slice ( $input , — 2 , 1 ); // возвращает «d»
$output = array_slice ( $input , 0 , 3 ); // возвращает «a», «b», и «c»// заметьте разницу в индексах массивов
print_r ( array_slice ( $input , 2 , — 1 ));
print_r ( array_slice ( $input , 2 , — 1 , true ));
?>Результат выполнения данного примера:
Array ( [0] => c [1] => d ) Array ( [2] => c [3] => d )
PHP array_slice function: A comprehensive guide
Are you tired of manually selecting elements from your PHP arrays? Do you want to streamline your code and make it more efficient? If so, you need to learn about the PHP array_slice function, which allows you to extract a slice of an array, without modifying the original array. In this guide, we’ll explain what the array_slice function does, how to use it, and some practical examples of its usage.
What is the PHP array_slice function?
The array_slice function is a built-in PHP function that allows you to extract a slice of an array, based on a starting index and a length. The syntax of the function is as follows:
array array_slice ( array $array , int $offset [, int $length = NULL [, bool $preserve_keys = false ]] )
The first argument, $array , is the array you want to extract a slice from. The second argument, $offset , is the starting index of the slice. The third argument, $length , is the length of the slice, and is optional (if not specified, the slice will include all elements from the starting index to the end of the array). The fourth argument, $preserve_keys , determines whether the original keys of the array are preserved in the resulting slice, and is also optional (the default value is false).
How to use the PHP array_slice function?
Using the array_slice function is very straightforward. Here’s an example that demonstrates how to extract a slice of an array, starting from the third element, and including the next two elements:
$fruits = array("apple", "banana", "cherry", "date", "elderberry"); $slice = array_slice($fruits, 2, 2); print_r($slice); // Output: Array ( [0] => cherry [1] => date ) ?>
As you can see, the resulting slice contains the elements «cherry» and «date», which are the two elements starting from the third element of the original array.
Practical examples of using the PHP array_slice function
Now that you know how to use the array_slice function, let’s look at some practical examples of its usage.
Paginating results
If you’re working with a large dataset, such as a list of products or blog posts, you may want to display the results in a paginated manner, to avoid overwhelming the user with too much information at once. The array_slice function can be very useful in this context, as it allows you to extract a slice of the dataset based on the current page number and the number of items per page. Here’s an example that demonstrates how to do this:
$page = $_GET["page"] ?? 1; // Default to page 1 if not set $itemsPerPage = 10; $startIndex = ($page - 1) * $itemsPerPage; $slice = array_slice($dataset, $startIndex, $itemsPerPage); ?>
Removing elements from an array
If you have an array that contains elements you want to remove, you can use the array_slice function in combination with the array_merge function to create a new array that excludes those elements. Here’s an example that demonstrates how to do this:
$numbers = array(1, 2, 3, 4, 5); $indicesToRemove = array(2, 4); // Remove elements at indices 2 and 4 $keepIndices = array_diff(array_keys($numbers), $indicesToRemove); $keepElements = array_intersect_key($numbers, array_flip($keepIndices)); $newArray = array_merge($keepElements); // ?>
Reordering elements in an array
If you have an array that contains elements you want to reorder, you can use the array_slice function in combination with the array_merge function to create a new array that includes the elements in the desired order. Here’s an example that demonstrates how to do this:
$colors = array("red", "green", "blue", "yellow"); $indicesToMove = array(2, 0, 3, 1); // Move elements to new indices $reorderedElements = array_map(function($i) use ($colors) < return $colors[$i]; >, $indicesToMove); $newArray = array_merge($reorderedElements); // Output: Array ( [0] => blue [1] => red [2] => yellow [3] => green ) ?>
As you can see, the resulting array contains the same elements as the original array, but in a different order.
Conclusion
The PHP array_slice function is a powerful and versatile tool that can help you streamline your code and make it more efficient. Whether you’re paginating results, removing elements from an array, or reordering elements in an array, the array_slice function can help you accomplish your goals with ease. We hope that this comprehensive guide has helped you understand what the array_slice function does, how to use it, and some practical examples of its usage. If you have any questions or feedback, please feel free to leave a comment below.
Функция array_slice
Функция array_slice отрезает и возвращает часть массива. При этом сам массив не меняется. Первым параметром указывается массив для разрезания. Вторым параметром указывается, с какого элемента начинать отрезание, а третьим — сколько элементов отрезать. Второй параметр может быть отрицательным — в этом случае отсчет начнется с конца ( -1 — последний элемент, -2 — предпоследний и так далее). Третий параметр можно вообще не указывать — в этом случае массив отрежется до самого конца.
Последний необязательный параметр регулирует сохранять ли ключи при отрезании, true — сохранять, false (по умолчанию) — не сохранять. Строковые ключи сохраняются, независимо от значения этого параметра.
Синтаксис
Пример
Давайте вырежем элементы с первого (имеет номер 0), 3 штуки:
Результат выполнения кода:
Пример
Давайте вырежем элементы со второго (имеет номер 1), 3 штуки:
Результат выполнения кода:
Пример
Давайте вырежем элементы со второго (имеет номер 1) до конца массива. Для этого третий параметр не пишем:
Результат выполнения кода:
Пример
Давайте вырежем элементы с предпоследнего, 2 штуки. Для этого второй параметр установим в -2 (позиция предпоследнего элемента):
Результат выполнения кода:
Пример
По умолчанию массив не сохраняет ключи при вырезании:
‘a’, 2 => ‘b’, 3 => ‘c’, 4 => ‘d’, 5 => ‘c’]; $result = array_slice($arr, 0, 3); var_dump($result); ?>?php>
Результат выполнения кода:
Пример
Давайте сделаем так, чтобы ключи сохранялись. Для этого последний параметр установим как true:
Результат выполнения кода:
Пример
Строковые ключи сохраняются при вырезании:
Результат выполнения кода:
Смотрите также