• 19-01-2013, 00:10:49
    #10
    function abc(...) 
    {
        $c = 1;
    return $c;
    }
    
    abc();
    echo $c;
    gibi birşey istiyorsunuz, bu imkansız. Yani fonksiyon içindeki herhangi bir değişkeni fonksiyon içinde kullandığınız adıyla ya da işleviyle fonksiyon dışında kullanamazsınız. Ancak değerine dönüş yaparak dışarıya alabilir eval fonksiyonu ile değişkene çevirebilirsiniz.

    Tabii şöyle kullanımları da var.

    function abc(...) 
    {
        $c['değişken1'] = 1;
        $c['değişken2'] = 2;
    
    return $c;
    }
    
    $r = abc();
    
    extract($r);
    dediğimiz zaman $değişken1 ve $değişken2 atadığımız değerleri ile elimizde olur. Demek istediğim çeşitli yollarla dışarıya aktarım olabilir ama aynen kullanılamaz.

    Tercih bunlar olursa eval yerine extract fonksiyonu ile yaptığım metodu tavsiye ederim. Daha şık durur.
  • 19-01-2013, 01:18:48
    #11
    Üyeliği durduruldu
    Fonksiyona verilen değişkenler sadece o fonksiyona özeldir, a sayfasını b sayfasına include etmeden/çağırmadan a sayfasındaki değişkenleri almak gibi olur. Dışarıda belirlediklerini içeride kullanabilirsin, içeride belirlediklerini dışarıda kullanamazsın. Mesela bir şirketin var ve toplantı yapıyorsun. Halka açıkladığın bilgileri toplantıda kullanabilirsin, herkes biliyor çünkü. Fakat toplantıda her bilgiyi dışarı veremezsin. Şirket sırrı.

    Belki iki değişkeni de return edersen array oluşabilir.
  • 19-01-2013, 04:50:55
    #12
    Kimlik doğrulama veya yönetimden onay bekliyor.
    function wp_resim_ekle($url, $pid, $bas){
    
    $attach_id = wp_insert_attachment($attachment, $neyim, $pid);
     return $attach_id;
    }
    
    $attach_id = wp_resim_ekle(...);
    bu şekilde yapabilirsiniz hocam. yani yeni bir değişkene atamanız gerek. Fonksiyon içindeki değişkenler, sadece fonksiyon içinde kullanılır. Dışarıya almanız mümkün değil diye biliyorum.
  • 22-04-2016, 15:54:56
    #13
    <?php
    $a = 1;
    $b = 2;

    function topla()
    {
    global $a, $b;

    $b = $a + $b;
    }

    topla();
    echo $b;
    ?>