Fonksiyonlara parametre olarak dizi tipli değişkenleri göndermek ya da fonksiyondan dizi tipli sonuçlar almak mümkündür. Fakat şu yanılgıya kapılmayın, parametre olarak dizi gönderdiğimizde illa ki dizi tipli sonuç almak zorunda değiliz. İhtiyacımıza göre integer
sonuç almak bizim elimizde.
<?php function dizi_islem($dizi){ $toplam = 0; $carpim = 1; foreach($dizi as $deger){ $toplam += $deger; $carpim *= $deger; } return array($toplam , $carpim); } $sonuc = dizi_islem(array(2,3,4)); echo 'Toplam = '.$sonuc[0].'<br/>'; echo 'Çarpım = '.$sonuc[1].'<br/>'; ?>
Yukarıda verdiğim örnekte dizi tipli bir değişken aldım. Parametre olarak dizi tipli değişkeni nasıl gönderilmesi gerektiğini, dizinin çağırıldığı satırdan anlaşılmaktadır.
Fonksiyon içerisinde foreach
döngüsü ile tüm dizi elemanlara erişerek bu elemanların toplamlarını ve çarpımlarını ayrı değişkenlerle gerçekleştirebiliyoruz. Sonuç kısmında ise return
deyimi sırasında array
tipine dönüştürerek gönderiyoruz. Örnekte, sonuç dizisinin 0. (sıfırıncı) elemanı değerlerin toplamı, 1. (birinci) elemanı ise çarpımını tutuyor.
Fonksiyonlardan sonuçları aldıktan sonra artık istediğimiz işlemi gerçekleştirebiliriz.