• 05-05-2018, 17:20:39
    #1
    merhabalar,

    phpde yazdığımız bir fonksiyonu herhangi bir satırdan tekrar başa döndürme komutu var mı acaba?

    mesela

    function elma($veri){
    işlem1
    işlem2

    şeklinde giderken

    if($degisken==1)
    ise tekrar başa dön $veri yi functiona at gibi

    teşekkürler
  • 05-05-2018, 17:40:04
    #2
    aşağıdaki şekilde deneyebilirsiniz ama mantıksız olur. kontrolü class içinde farklı fonksiyonlarla yapmanız mantıklı olan. fonksiyon içinde aynı satıra geldiğinde aynı hatayı alıp her seferinde fonksiyon başa dönerse sonsuz döngüye girer...

    function elma($veri){
    // işlemler
    if($degisken==1){
    return elma($veri);
    }
  • 05-05-2018, 18:16:39
    #3
    Bahsettiğiniz fonksiyon tipine recurrisve fonksiyon denir.
    Yani kendini yineleyen fonksiyonlar. Bazı durumlarda kullanmaktan başka çare yoktur ama mümkün olduğunca kullanmamak daha iyi olur.
    Kullandığınızda da algoritmadaki tüm değişkenleri iyi hesap etmeniz lazım yoksa yanlışlıkla sonsuz döngüye girebilirsiniz.
    Mesela bir sayının faktöriyellerini hesaplayan recurrsice fonksiyon.
    function faktoriyel($sayi)
    {          
    if ($sayi < 2){
    return 1;
    } else {
    return ($sayi * faktoriyel($sayi-1));
    }
    }
  • 05-05-2018, 18:37:32
    #4
    anladım. cevaplar için teşekkürler.
  • 06-05-2018, 00:40:35
    #5
    Kimlik doğrulama veya yönetimden onay bekliyor.
    apexible adlı üyeden alıntı: mesajı görüntüle
    anladım. cevaplar için teşekkürler.

    function elma($veri)
    {

    Try:

    işlem1
    işlem2

    if($degisken == 1)
    {
    goto Try;
    }

    }