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
func([1, 2, 3]);
?>
Şimdilik özyineleme kullanmadan,
array_shift
fonksiyonuyla dizinin tüm elemanlarını sırayla yazdıralım:
<?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
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.
Bir dizi verilsin:
<?php
$arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5];
?>
Özyineleme kullanarak bu dizinin elemanlarını ekranda gösterin.