Navigate / search

Return ile Fonksiyondan Çoklu Değer Döndürmek

Fonksiyonumuzdan dööndüreceğimiz değer herzaman birtane ile sınırlı olmayabilir.Fonksiyon içinden birden çok hatta onlarca değeri program akışı içinde kullanmamız gerekebilir.Normal değer döndürmek için kullandığımız Return komutuyla bu işlemide yapoabiliriz.Fakat hem fonksiyonu tanımlarken hemde fonksiyonu çağırırken bir kaç değişiklik yapacağız.

örneğimizde bir fatura hesaplama fonksiyonu yapalım.Fonksiyonumuza bildirdiğimiz tutarımızı bu tutara ait kdv’yi vede genel toplamımızı aynı anda fonksiyondan değer olarak döndürelim.

1
2
3
4
5
6
7
8
9
10
11
// fonksiyonu tanımlarken...
function fatura ($Toplam){
      $Kdv=$Toplam*0,18;
      $GenelToplam=$Toplam+$Kdv;
      return array ($Toplam,$Kdv,$GenelToplam);
}
// fonksiyonu çağırırken
list ($Toplam,$Kdv,$GenelToplam)=fatura(200);
echo "Toplam =".$Toplam."<br>";
echo "Kdv =".$Kdv."<br>";
echo "Genel Toplam=".$GenelToplam."<br>";

Retur ile değer döndürürken değer isimlerinden önce array (dizi) yazılır ve parantez içine döndürmek istediğimiz değişkenler aralarında virgül yazılarak eklenir.Bu işlem bittikten sonra , fonksiyon çağırılırken list() komutuyla gelecek olan değer isimleri sıralanır.bir eşittir koyularak fonksiyonumuz yazılır.Artık list komutuyla listelediğimiz değişkenlerin içeriğinde istediğimiz değerler mevcuttur.Yanlız bir nokta var onu unutmayın.

return array ($Toplam,$Kdv,$GenelToplam)
list ($Toplam,$Kdv,$GenelToplam)

fonksiyonu tanımlarken yazdığınız değişkenleri list() fonksiyonuna eklerkende aynı sıralama ile yazınız.

Fonksiyondan Return ile Değer Döndürmek

Fonksiyondan değer döndürmek nedir? Fonksiyonda yaptığımız işlemlerden bir sonuç elde edebilir ve bu sonucu program içinde kullanmamız gerekebilir.Fonksiyondan değer döndürmek istersek yine return() komutunu kullanmamız gerekecektir.Sınav notlarının ortalaması alan bir programla örnek yapalım.

1
2
3
4
5
function ortalama ($sinav1,sinav2){
      $ortalama=($sinav1+sinav2)/2;
      return ($ortalama);
}
echo ortalama (45,65);

Bu örnekte şu ana gördüğümüz fonksiyonlardan farklı olarak 2 tane parametre yani argüman tanımladık.Bu parametrelerin biri ilk sınav ikincisi ise diğer sınavdır.Fonksiyon içindede not ortalaması alan matematiksel işlemimizi yapıp sonucumuzu $ortalama değişkeni içine yazdık.Fonksiyon dışında bu ortalama değişkenini kullanmak için ise return ($ortalama); komutumuzu yazdık.Ve böylece fonksiyon içinde belirlediğimiz herhangi bir değeri fonksiyon dışında kullanabilmiş olduk.

Fonksiyon Değişkenini Globalleştirme

Fonksiyonlarımızda tanımladığımız parametreler fonksiyon dışında çalışmaz.Hemen bunu ufak bir örnekle göstereyim.

1
2
3
4
5
6
$sayimiz=4;
function iki_ile_carp ($sayi){
      $sayi=$sayi*2
}
iki_ile_carp($sayimiz);
echo $sayi;

Fonksiyonda parametremizden gelen değeri fonksiyon içinde iki ile çarptırıp tekrar fonksiyon parametresi olan $sayi değişkeninin içine kaydettik.Fonksiyon dışına çıkıp echo $sayi; komutuyla $sayi değişkenini yazdırmak istediğimizde sonuç boş olacaktır.Çünkü $sayi değişkeni fonksiyonun yerel değişkenidir.Bu değişkeni fonksiyon dışında kullanmak istersek fonksiyon parametresi tanımlarken değişkenin önüne bir “referans” simgesi koymamız gerekir.function iki_ile_carp (&$sayi)

1
2
3
4
5
6
$sayimiz=4;
function iki_ile_carp (&$sayi){
      $sayi=$sayi*2
}
iki_ile_carp($sayimiz);
echo $sayi;

Değişkenimizin önüne & simgesi koyduktan sonra fonksiyonun yerel parametresi olan $sayi değişkenini fonksiyon dışındada kullanabilmiş olacağız.Yani Değişkenimiz Global bir değişken olmuş olacak.

Fonksiyona Varsayılan Değer Belirtme

Fonksiyona Varsayılan Değer Belirtme
Fonksiyonlarımız için paremetre belirtme ve parametre ile çağırmayı öğrendik.Peki parametre ile tanımlayıp,fonksiyonu çağırırken parametre belirtmez isek ne olur ? Cevap basit, Hata Verir. Bu hatayı almamak için bir varsayılan (default) değer belirlememiz gerekir.Default değerini fonksiyon tanımlanırken parametre yani argümanımız kısmına yazacağız.Bir önceki örneği baz alarak varsayılan değer tanımlamayı öğrenelim.

1
2
3
4
5
6
7
8
function yinele($sayi=3){
      if ($sayi<=10){
            echo "Sayımız = $sayi"."<br>";
            yinele($sayi+1);
      {
}
yinele();
yinele(1);

Bir önceki örnekten farklı olarak fonksiyonu tanımlarken “yinele($sayi=3)” şeklinde tanımladık.Bu şekilde default’u tanımlanmış fonksiyonları çağırırken parametre kısmına herhangi bir değer vermez iseniz “yinele();” fonksiyon içinde değişkenimizi 3 olarak alacaktır.Fakat fonksiyonu çağırırken parametre kısmına değer verirsek “yinele(1);” bizim belirlediğimiz değeri alacaktır fonksiyon parametresi.