PHP - Değerleri Döndürme

Carissa

Administrator
Katılım
2 Mar 2015
Konular
59,189
Mesajlar
88,442
Çözüm
109
Online süresi
4mo 16d
Reaksiyon Skoru
14,280
Altın Konu
2,398
TM Yaşı
11 Yıl 3 Ay 9 Gün
Başarım Puanı
1,051
MmoLira
695,207
DevLira
234
Ticaret - 0%
0   0   0

ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!



Bir PHP fonksiyonu, fonksiyon gövdesindeki son ifade olarak isteğe bağlı bir return ifadesine sahip olabilir. PHP'deki yerleşik fonksiyonların çoğu belirli bir değer döndürür. Örneğin strlen() fonksiyonu bir dizenin uzunluğunu döndürür. Benzer şekilde, kullanıcı tanımlı bir fonksiyon da belirli bir değer döndürebilir.

Bir fonksiyon, bağımsız, eksiksiz ve yeniden kullanılabilir bir ifade bloğudur. Çağrıldığında, belirli bir görevi gerçekleştirir ve return ifadesi kullanılmasa bile program denetimini çağrıldığı konuma geri gönderir. Return ifadesi, denetimle birlikte bir değeri çağıran ortama geri götürmesine olanak tanır.

function foo($arg_1, $arg_2) {
statements;
return $retval;
}

Bir fonksiyon, skaler değişkenler, diziler ve nesneler dahil olmak üzere her türlü veriyi döndürebilir. Önünde herhangi bir ifade olmayan bir return anahtar sözcüğü null döndürür ve hiç dönüş değeri olmayan bir fonksiyona eşdeğerdir.

Bir fonksiyon tarafından döndürülen değer bir değişkende saklanabilir, bir ifadeye konulabilir veya print veya echo içerisinde görünüyorsa çıktıda gösterilebilir.

$res = foo($x, $y);

Bir fonksiyonun döndürdüğü değerin program içerisinde daha ileri bir tarihte kullanılabilmesini sağlar.

Örnek

Önceki bölümdeki addition() fonksiyonunu, toplama işleminin sonucunu döndüren bir return ifadesi içerecek şekilde değiştirelim.

PHP:
<?php
   function addition($first, $second) {
      $result = $first+$second;
      return $result;
   }

   $x=10;
   $y=20;
   $z = addition($x, $y);
   echo "First number: $x Second number: $y Addition: $z". PHP_EOL;
?>

Aşağıdaki çıktıyı üretecektir:

First number: 10 Second number: 20 Addition: 30

PHP'deki bir fonksiyon herhangi sayıda argümana sahip olabilir, ancak yalnızca bir değer döndürebilir. Fonksiyon, ilk kez bir return ifadesiyle karşılaştığı anda çağıran ortama geri döner ve fonksiyon gövdesindeki ifadelerin geri kalanını terk eder.


Örnek

Return ifadesine birden fazla değer eklemeye çalışırsanız, aşağıdaki gibi bir PHP ayrıştırma hatasıyla karşılaşılır:

PHP:
<?php
   function raiseto($x) {
      $sqr =  $x**2;
      $cub =  $x**3;
      return $sqr, $cub;
   }
   $a = 5;
   $val = raiseto($a);
?>

Aşağıdaki çıktıyı üretecektir:

PHP Parse error: syntax error, unexpected token ",", expecting ";"

Koşullu İade

Farklı koşullu ifadeler altında birden fazla return ifadesi çalıştırılabilir.

Örnek

Aşağıdaki programda, raiseto() fonksiyonu indeks argümanındaki sayının karesini, yani 2 veya 3 değerini döndürür.

PHP:
<?php
   function raiseto($x, $i) {
      if ($i == 2) {
         return $x**2;
      } elseif ($i==3) {
         return $x**3;
      }
   }
   $a = 5;
   $b = 2;
   $val = raiseto($a, $b);
   echo "$a raised to $b = $val" . PHP_EOL;

   $x = 7;
   $y = 3;
   echo "$x raised to $y = " . raiseto($x, $y) . PHP_EOL;
?>

Aşağıdaki çıktıyı üretecektir:

5 raised to 2 = 25
7 raised to 3 = 343


Birden Fazla Değeri Dizi Olarak Döndür

PHP'deki fonksiyon yalnızca tek bir değer döndürebilir. Ancak, bu tek değer birden fazla değerden oluşan bir dizi olabilir. Bu özellikten yararlanarak bir sayının hem karesini hem de küpünü aynı anda döndürebiliriz.

Örnek

Aşağıdaki örneğe bir göz atın.

PHP:
<?php
   function raiseto($x){
      $sqr =  $x**2;
      $cub =  $x**3;
      $ret = ["sqr" => $sqr, "cub" => $cub];
      return $ret;
   }
   $a = 5;
   $val = raiseto($a);
   echo "Square of $a: " . $val["sqr"] . PHP_EOL;
   echo "Cube of $a: " . $val["cub"] . PHP_EOL;
?>

Aşağıdaki çıktıyı üretecektir:
Square of 5: 25
Cube of 5: 125
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)