Hikayeler

Reklam vermek için turkmmo@gmail.com

PHP - Değerleri Döndürme

Carissa

Administrator
Telefon Numarası Onaylanmış Üye TC Kimlik Numarası Doğrulanmış Üye Turkmmo Discord Nitro Booster
Admin
Katılım
2 Mar 2015
Konular
59,185
Mesajlar
88,376
Online süresi
4ay 14g
Reaksiyon Skoru
14,227
Altın Konu
2,398
Başarım Puanı
1,051
TM Yaşı
11 Yıl 1 Ay 21 Gün
MmoLira
694,336
DevLira
234

Metin2 EP, Valorant VP dahil tüm oyun ürünlerini en uygun fiyatlarla bulabilir, Item ve Karakterlerinizi hızlıca satabilirsiniz. HEMEN TIKLA!

cats.jpg


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 : 1, Üye: 0, Misafir: 1)

Geri
Üst