soulmy adlı üyeden alıntı: mesajı görüntüle
Doğru doğru, string tabirini yanlış kullandım. Mesajı editledim şimdi.

Ben tam anlatamadım derdimi. Baştan alalım.

function test($obj) {
 
    $obj->a++;
 
}

$obj = new stdClass();
$obj->a = 1;

test($obj);

echo $obj->a;
Ekran çıktısı : 2

function test($degisken) {
 
    $degisken++;
 
}
 
$degisken = 1;
 
test($degisken);
 
echo $degisken;
Ekran çıktısı : 1

Neden farklı sonuç çıkıyor? Onu anlayamadım.
Çünkü siz ekrana $degiskeni basıyorsunuz. test($degisken) i değil.
doğru gösterim echo test($degisken) olmalı ve fonksiyonda da return etmeniz daha mantıksal olacaktır. dopru kod şu şekilde.
<?php

function test($degisken){

$degisken++;
 return $degisken;
}

$degisken = 1;
 
echo test($degisken);
Bu sorunla objede karşılaşmama sebebiniz ise objenin bellekte pointer olarak tutulması obje değeri ile oynuyorsunuz obje değerini tekrar aynı obje değerine yeni sonuç fonksiyonuyla eşitlemek zorunda değilsiniz obje zaten bellekte tutuluyor