v2.5.2
Giriş yap

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

obey00
498 defa görüntülendi

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

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

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

abdullahx
1165 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
// )
PHP

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
PHP

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