Hikayeler

Reklam vermek için turkmmo@gmail.com

PHP - Yayılma Operatörü

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!

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

Geri
Üst