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