Funksjonen array_slice
Funksjonen array_slice skjærer av og returnerer
en del av en array. Selve arrayen endres ikke.
Første parameter angir arrayen som skal
skjæres. Andre parameter angir
fra hvilket element avskjæringen skal starte, og tredje
- hvor mange elementer som skal skjæres av. Andre parameter
kan være negativ - i så fall
starter tellingen fra slutten (-1 - siste element,
-2 - nest siste og så videre). Tredje parameter
kan utelates helt - i så fall
skjæres arrayen av helt til slutten.
Siste valgfrie parameter regulerer
om nøkler skal beholdes ved avskjæring, true -
behold, false (standard) - ikke behold.
Stringnøkler beholdes, uavhengig av
verdien til denne parameteren.
Syntaks
array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false): array
Eksempel
La oss skjære ut elementer fra den første (har
nummer 0), 3 stykker:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
Resultat av kjøring av koden:
['a', 'b', 'c']
Eksempel
La oss skjære ut elementer fra den andre (har
nummer 1), 3 stykker:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 1, 3);
var_dump($res);
?>
Resultat av kjøring av koden:
['b', 'c', 'd']
Eksempel
La oss skjære ut elementer fra den andre (har
nummer 1) til slutten av arrayen. For å gjøre dette skriver vi ikke
tredje parameter:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 1);
var_dump($res);
?>
Resultat av kjøring av koden:
['b', 'c', 'd', 'e']
Eksempel
La oss skjære ut elementer fra den nest siste,
2 stykker. For å gjøre dette setter vi andre parameter
til -2 (posisjonen til det nest siste
elementet):
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, -2, 2);
var_dump($res);
?>
Resultat av kjøring av koden:
['d', 'e']
Eksempel
Som standard beholdes ikke nøkler i arrayen ved utskjæring:
<?php
$arr = [1 => 'a', 2 => 'b', 3 => 'c', 4 => 'd', 5 => 'c'];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
Resultat av kjøring av koden:
['a', 'b', 'c']
Eksempel
La oss sørge for at nøklene beholdes. For å gjøre dette setter vi siste parameter til true:
<?php
$arr = [1 => 'a', 2 => 'b', 3 => 'c'];
$res = array_slice($arr, 0, 3, true);
var_dump($res);
?>
Resultat av kjøring av koden:
[1 => 'a', 2 => 'b', 3 => 'c']
Eksempel
Stringnøkler beholdes ved utskjæring:
<?php
$arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
Resultat av kjøring av koden:
['a' => 1, 'b' => 2, 'c' => 3]
Se også
-
funksjonen
array_splice,
som skjærer av en del av en array og endrer selve arrayen