Συνάρτηση array_slice
Η συνάρτηση array_slice αποκόπτει και επιστρέφει
ένα μέρος ενός πίνακα. Ο ίδιος ο πίνακας δεν αλλάζει.
Ως πρώτη παράμετρος καθορίζεται ο πίνακας για
αποκοπή. Ως δεύτερη παράμετρος καθορίζεται
από ποιο στοιχείο να ξεκινήσει η αποκοπή, και τρίτη
- πόσα στοιχεία να αποκοπούν. Η δεύτερη παράμετρος
μπορεί να είναι αρνητική - σε αυτήν την περίπτωση
η μέτρηση θα ξεκινήσει από το τέλος (-1 - το τελευταίο στοιχείο,
-2 - το προτελευταίο και ούτω καθεξής). Η τρίτη παράμετρος
μπορεί να μην καθοριστεί καθόλου - σε αυτήν την περίπτωση
ο πίνακας θα αποκοπεί μέχρι το τέλος.
Η τελευταία προαιρετική παράμετρος ρυθμίζει
αν θα διατηρηθούν τα κλειδιά κατά την αποκοπή, true -
διατήρηση, false (από προεπιλογή) - μη διατήρηση.
Τα κλειδιά συμβολοσειρών διατηρούνται, ανεξάρτητα από
την τιμή αυτής της παραμέτρου.
Σύνταξη
array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false): array
Παράδειγμα
Ας αποκομίσουμε στοιχεία από το πρώτο (έχει
αριθμό 0), 3 κομμάτια:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
Αποτέλεσμα εκτέλεσης κώδικα:
['a', 'b', 'c']
Παράδειγμα
Ας αποκομίσουμε στοιχεία από το δεύτερο (έχει
αριθμό 1), 3 κομμάτια:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 1, 3);
var_dump($res);
?>
Αποτέλεσμα εκτέλεσης κώδικα:
['b', 'c', 'd']
Παράδειγμα
Ας αποκομίσουμε στοιχεία από το δεύτερο (έχει
αριθμό 1) μέχρι το τέλος του πίνακα. Για αυτό την τρίτη
παράμετρο δεν την γράφουμε:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 1);
var_dump($res);
?>
Αποτέλεσμα εκτέλεσης κώδικα:
['b', 'c', 'd', 'e']
Παράδειγμα
Ας αποκομίσουμε στοιχεία από το προτελευταίο,
2 κομμάτια. Για αυτό η δεύτερη παράμετρος
ορίζεται σε -2 (θέση προτελευταίου
στοιχείου):
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, -2, 2);
var_dump($res);
?>
Αποτέλεσμα εκτέλεσης κώδικα:
['d', 'e']
Παράδειγμα
Από προεπιλογή ο πίνακας δεν διατηρεί τα κλειδιά κατά την αποκοπή:
<?php
$arr = [1 => 'a', 2 => 'b', 3 => 'c', 4 => 'd', 5 => 'c'];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
Αποτέλεσμα εκτέλεσης κώδικα:
['a', 'b', 'c']
Παράδειγμα
Ας κάνουμε έτσι ώστε να διατηρούνται τα κλειδιά. Για αυτό την τελευταία παράμετρο την ορίζουμε ως true:
<?php
$arr = [1 => 'a', 2 => 'b', 3 => 'c'];
$res = array_slice($arr, 0, 3, true);
var_dump($res);
?>
Αποτέλεσμα εκτέλεσης κώδικα:
[1 => 'a', 2 => 'b', 3 => 'c']
Παράδειγμα
Τα κλειδιά συμβολοσειρών διατηρούνται κατά την αποκοπή:
<?php
$arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
Αποτέλεσμα εκτέλεσης κώδικα:
['a' => 1, 'b' => 2, 'c' => 3]
Δείτε επίσης
-
τη συνάρτηση
array_splice,
που αποκόπτει ένα μέρος πίνακα, αλλάζοντας κατά αυτό τον τρόπο τον ίδιο τον πίνακα