PHP'de Parametre ile Özyineleme

Özyineleme kullanarak bir dizinin elemanlarını sırayla yazdıralım. Dizi başlangıçta fonksiyona parametre olarak geçilsin:

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

Şimdilik özyineleme kullanmadan, array_shift fonksiyonuyla dizinin tüm elemanlarını sırayla yazdıralım:

php<?php
  function func($arr) {
    var_dump(array_shift($arr)); // 1 yazdırır
    var_dump($arr); // [2, 3] yazdırır - dizi küçüldü
    
    var_dump(array_shift($arr)); // 2 yazdırır
    var_dump($arr); // [3] yazdırır - dizi küçüldü
    
    var_dump(array_shift($arr)); // 3 yazdırır
    var_dump($arr); // [] yazdırır - dizi boş
  }
  
  func([1, 2, 3]);
?>

Gördüğünüz gibi, array_shift fonksiyonu dizinin ilk elemanını kesip döndürür, bu arada dizinin kendisi bu eleman kadar küçülür.

Şimdi özyinelemeyi kullanalım:

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

Aslında, elbette bir dizinin elemanlarını döngüyle dolaşmak çok daha kolaydır. Verilen örnekler sadece özyinelemenin çalışmasını basit örneklerle (gündelik olmayan) göstermektedir. Özyinelemenin daha kullanışlı örnekleri sadece daha karmaşıktır, onları biraz aşağıda inceleyeceğiz.

Задание 1

Bir dizi verilsin:

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

Özyineleme kullanarak bu dizinin elemanlarını ekranda gösterin.