Αναδρομή με παράμετρο στην PHP
Ας χρησιμοποιήσουμε αναδρομή για να εμφανίσουμε διαδοχικά τα στοιχεία ενός πίνακα. Ας υποθέσουμε ότι ο πίνακας αρχικά μεταβιβάζεται ως παράμετρος στη συνάρτηση:
<?php
func([1, 2, 3]);
?>
Ας χρησιμοποιήσουμε προς το παρόν χωρίς αναδρομή τη συνάρτηση
array_shift
για να εμφανίσουμε όλα τα στοιχεία του πίνακα ένα προς ένα:
<?php
function func($arr) {
var_dump(array_shift($arr)); // θα εμφανίσει 1
var_dump($arr); // θα εμφανίσει [2, 3] - ο πίνακας μείωσε
var_dump(array_shift($arr)); // θα εμφανίσει 2
var_dump($arr); // θα εμφανίσει [3] - ο πίνακας μείωσε
var_dump(array_shift($arr)); // θα εμφανίσει 3
var_dump($arr); // θα εμφανίσει [] - ο πίνακας είναι άδειος
}
func([1, 2, 3]);
?>
Όπως βλέπετε, η συνάρτηση array_shift
αφαιρεί και επιστρέφει το πρώτο στοιχείο του πίνακα,
ενώ ταυτόχρονα ο ίδιος ο πίνακας μειώνεται κατά αυτό το στοιχείο.
Ας χρησιμοποιήσουμε τώρα αναδρομή:
<?php
function func($arr) {
var_dump(array_shift($arr));
var_dump($arr);
if (count($arr) !== 0) {
func($arr);
}
}
func([1, 2, 3]);
?>
Στην πραγματικότητα, φυσικά, είναι πιο εύκολο να διατρέξετε τα στοιχεία ενός πίνακα με βρόχο. Τα παραπάνω παραδείγματα απλά δείχνουν τη λειτουργία της αναδρομής σε απλά παραδείγματα (όχι πραγματικά). Πιο χρήσιμα παραδείγματα εφαρμογής της αναδρομής είναι απλά πιο περίπλοκα, θα τα αναλύσουμε λίγο παρακάτω.
Δίνεται ο πίνακας:
<?php
$arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5];
?>
Χρησιμοποιώντας αναδρομή, εμφανίστε τα στοιχεία αυτού του πίνακα στην οθόνη.