Funktionen array_slice
Funktionen array_slice skär ut och returnerar
en del av en array. Själva arrayen förändras inte.
Första parametern anger arrayen som ska
skäras. Andra parametern anger
från vilket element utskärandet ska börja, och tredje
- hur många element som ska skäras ut. Den andra parametern
kan vara negativ - i så fall
börjar räkningen från slutet (-1 - sista elementet,
-2 - näst sista och så vidare). Den tredje parametern
kan helt uteslutas - i så fall
skärs arrayen till slutet.
Den sista valfria parametern reglerar
om nycklar ska bevaras vid utskärande, true -
behåll, false (standard) - behåll inte.
Stringnycklar bevaras, oavsett
värdet på denna parameter.
Syntax
array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false): array
Exempel
Låt oss skära ut element från det första (har
nummer 0), 3 stycken:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
Resultat av kodkörning:
['a', 'b', 'c']
Exempel
Låt oss skära ut element från det andra (har
nummer 1), 3 stycken:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 1, 3);
var_dump($res);
?>
Resultat av kodkörning:
['b', 'c', 'd']
Exempel
Låt oss skära ut element från det andra (har
nummer 1) till slutet av arrayen. För detta skriver vi inte den tredje
parametern:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 1);
var_dump($res);
?>
Resultat av kodkörning:
['b', 'c', 'd', 'e']
Exempel
Låt oss skära ut element från det näst sista,
2 stycken. För detta sätter vi den andra parametern
till -2 (position för det näst sista
elementet):
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, -2, 2);
var_dump($res);
?>
Resultat av kodkörning:
['d', 'e']
Exempel
Som standard bevarar inte arrayen nycklar vid utskärande:
<?php
$arr = [1 => 'a', 2 => 'b', 3 => 'c', 4 => 'd', 5 => 'c'];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
Resultat av kodkörning:
['a', 'b', 'c']
Exempel
Låt oss se till att nycklar bevaras. För detta sätter vi den sista parametern till true:
<?php
$arr = [1 => 'a', 2 => 'b', 3 => 'c'];
$res = array_slice($arr, 0, 3, true);
var_dump($res);
?>
Resultat av kodkörning:
[1 => 'a', 2 => 'b', 3 => 'c']
Exempel
Stringnycklar bevaras vid utskärande:
<?php
$arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
Resultat av kodkörning:
['a' => 1, 'b' => 2, 'c' => 3]
Se även
-
funktionen
array_splice,
som skär ut en del av en array och ändrar själva arrayen