Funktionen array_slice
Funktionen array_slice skærer en del af et array ud og returnerer
den. Det oprindelige array ændres ikke.
Den første parameter angiver arrayet, der skal
skæres i. Den anden parameter angiver,
fra hvilket element udskæringen skal starte, og den tredje
- hvor mange elementer der skal skæres ud. Den anden parameter
kan være negativ - i dette tilfælde
starter tællingen fra slutningen (-1 - sidste element,
-2 - næstsidste element og så videre). Den tredje parameter
kan udelades helt - i dette tilfælde
skæres arrayet ud til slutningen.
Den sidste valgfrie parameter styrer
om nøgler skal bevares ved udskæringen, true -
bevar, false (standard) - bevar ikke.
String-nøgler bevares altid, uafhængigt af
værdien af denne parameter.
Syntaks
array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false): array
Eksempel
Lad os udskære 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);
?>
Resultatet af kodeudførelsen:
['a', 'b', 'c']
Eksempel
Lad os udskære elementer fra den anden (har
nummer 1), 3 stykker:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 1, 3);
var_dump($res);
?>
Resultatet af kodeudførelsen:
['b', 'c', 'd']
Eksempel
Lad os udskære elementer fra den anden (har
nummer 1) til slutningen af arrayet. For at gøre dette skriver vi ikke den tredje
parameter:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 1);
var_dump($res);
?>
Resultatet af kodeudførelsen:
['b', 'c', 'd', 'e']
Eksempel
Lad os udskære elementer fra den næstsidste,
2 stykker. For at gøre dette sætter vi den anden parameter
til -2 (positionen for det næstsidste
element):
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, -2, 2);
var_dump($res);
?>
Resultatet af kodeudførelsen:
['d', 'e']
Eksempel
Som standard bevarer arrayet ikke nøgler ved udskæring:
<?php
$arr = [1 => 'a', 2 => 'b', 3 => 'c', 4 => 'd', 5 => 'c'];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
Resultatet af kodeudførelsen:
['a', 'b', 'c']
Eksempel
Lad os sørge for, at nøgler bevares. For at gøre dette sætter vi den sidste parameter til true:
<?php
$arr = [1 => 'a', 2 => 'b', 3 => 'c'];
$res = array_slice($arr, 0, 3, true);
var_dump($res);
?>
Resultatet af kodeudførelsen:
[1 => 'a', 2 => 'b', 3 => 'c']
Eksempel
String-nøgler bevares ved udskæring:
<?php
$arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
Resultatet af kodeudførelsen:
['a' => 1, 'b' => 2, 'c' => 3]
Se også
-
funktionen
array_splice,
som skærer en del af et array ud og ændrer derved selve arrayet