mavzermete 1
mavzermete
xranzei 1
xranzei
Manwe Work 1
Manwe Work
noisiv 1
noisiv
Hikaye Ekle

PHP - Yayılma Operatörü

HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!

php1.jpg


PHP üç nokta sembolünü (...) spread operatörü olarak tanır . Spread operatörü bazen splat operatörü olarak da adlandırılır . Bu operatör ilk olarak PHP 7.4 sürümünde tanıtıldı. Dizileri açmak gibi birçok durumda etkili bir şekilde kullanılabilir.

Örnek 1

Aşağıdaki örnekte, $arr1'deki elemanlar, kendi elemanlarından oluşan bir listeden sonra $arr2'ye eklenir.

Kod:
<?php
   $arr1 = [4,5];
   $arr2 = [1,2,3, ...$arr1];

   print_r($arr2);
?>

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

Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
)

Örnek 2

Spread operatörü bir ifadede birden fazla kullanılabilir. Örneğin, aşağıdaki kodda, iki dizinin öğeleri genişletilerek üçüncü bir dizi oluşturulur.

Kod:
<?php
   $arr1 = [1,2,3];
   $arr2 = [4,5,6];
   $arr3 = [...$arr1, ...$arr2];

   print_r($arr3);
?>

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

Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
[5] => 6
)

Örnek 3

Aynı sonucun, aşağıda gösterildiği gibi array_merge() fonksiyonunun kullanımıyla da elde edilebileceğini unutmayın.

Kod:
<?php
   $arr1 = [1,2,3];
   $arr2 = [4,5,6];
   $arr3 = array_merge($arr1, $arr2);

   print_r($arr3);
?>

Aynı çıktıyı üretecektir:

Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
[5] => 6
)

Ancak (...) operatörünün kullanımı, bir fonksiyon çağrısının getirdiği ek yükü ortadan kaldırdığı için çok daha verimlidir.


Örnek 4

PHP 8.1.0 ayrıca argümanları açtıktan sonra adlandırılmış argümanları kullanmaya izin veren başka bir özellik daha tanıttı. Her argümana ayrı ayrı bir değer sağlamak yerine, bir dizideki değerler, diziden önce ... (üç nokta) kullanılarak karşılık gelen argümanlara açılacaktır.

Kod:
<?php 
   function  myfunction($x, $y, $z=30) {
      echo "x = $x  y = $y  z = $z";
   }

   myfunction(...[10, 20], z:30);
?>

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

x = 10 y = 20 z = 30

Örnek 5

Aşağıdaki örnekte, bir fonksiyonun dönüş değeri bir dizidir. Dizi elemanları daha sonra yayılır ve paketten çıkarılır.

Kod:
<?php
   function get_squares() {
      for ($i = 0; $i < 5; $i++) {
         $arr[] = $i**2;
      }
      return $arr;
   }
   $squares = [...get_squares()];
   print_r($squares);
?>

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

Array
(
[0] => 0
[1] => 1
[2] => 4
[3] => 9
[4] => 16
)
 

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

Geri
Üst