Rekursi dengan Parameter dalam PHP

Mari kita, dengan menggunakan rekursi, secara berurutan menampilkan elemen-elemen array. Biarkan array pada awalnya dihantar sebagai parameter kepada fungsi:

php<?php
  func([1, 2, 3]);
?>

Mari kita buat tanpa rekursi dahulu dengan menggunakan fungsi array_shift tampilkan semua elemen array satu persatu:

php<?php
  function func($arr) {
    var_dump(array_shift($arr)); // akan memaparkan 1
    var_dump($arr); // akan memaparkan [2, 3] - array telah mengecil
    
    var_dump(array_shift($arr)); // akan memaparkan 2
    var_dump($arr); // akan memaparkan [3] - array telah mengecil
    
    var_dump(array_shift($arr)); // akan memaparkan 3
    var_dump($arr); // akan memaparkan [] - array kosong
  }
  
  func([1, 2, 3]);
?>

Seperti yang anda lihat, fungsi array_shift memotong dan mengembalikan elemen pertama array, sementara array itu sendiri mengecil dengan elemen tersebut.

Sekarang mari kita gunakan rekursi:

php<?php
  function func($arr) {
    var_dump(array_shift($arr));
    var_dump($arr);
    
    if (count($arr) !== 0) {
      func($arr);
    }
  }
  
  func([1, 2, 3]);
?>

Sebenarnya, sudah tentu lebih mudah untuk mengulangi elemen-elemen array menggunakan gelung. Contoh-contoh yang diberikan hanya menunjukkan cara kerja rekursi melalui contoh mudah (bukan dari kehidupan sebenar). Contoh penggunaan rekursi yang lebih berguna sememangnya lebih kompleks, kita akan menganalisisnya sedikit kemudian.

Задание 1

Diberi array:

php<?php
  $arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5];
?>

Dengan menggunakan rekursi, tampilkan elemen-elemen array ini pada skrin.