v2.5.2
Giriş yap

Passing by Reference (&$) kullanım örnekleri?

obey00
439 defa görüntülendi

Dök. link: https://www.php.net/manual/en/language.references.pass.php

function (&$param1) { ..... } 

şeklinde kullanımlarla karşılaştım ancak bunu özellikle kullanım amacı nedir? Ne amaçla kullanılır tam olarak?

abdullahx
1060 gün önce

Ben de daha evvel kullandığım iki şekli ile örnek vereyim, mantık aynı tabii de örnek çeşitliliği açısından.

Bir diziyi döngüye soktuğumuzda başka bir array daha oluşturmadan içindeki değerleri direkt olarak değiştirebilmek için foreach gibi döngülerde kullanabilirsin;

$array = ['item 1', 'item 2', 'item 3', 'item 4', 'item 5'];

foreach ($array as $index => &$item) {
    $item = "item $index";
}
print_r($array);

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

Ya da belki bazen recursive bir anonim fonkiyon yazmak istersin, fonksiyonun döndürdüğü değeri yine aynı fonksiyonda kullanmak istersin;

$func = function ($param) use (&$func) {
    $return = $param * 3;
    if ($return < 50)
        return $func($return);
    return $return;
};

echo $func(2);

// 54

Örnekler biraz garip olabilir ama aklıma ilk gelen şeyi yaptım :)