v2.5.2
Giriş yap

Fonksiyonun içinde yine aynı fonksiyonu kullanma php

singlestroke
248 defa görüntülendi

Aşağıda ki şekilde fonksiyonun içinde yine aynı
fonksiyonu kullanmak istiyorum (php) nasıl yapabilirim ?

Böylece alt bir kategori id girerek o kategorinin altında ki tüm kategorilerin id bilgisini toplayabilirim sizce sorun ne ?

    function x(){
        x();
    }
    
    
    Yapmak İstediğim işlem ;
    
    function subCategoriesList($topCategory)
    {
        $allSubCategories = array();

        $subCategories = $this->databaseConn->query("SELECT * FROM category WHERE topCategory = {$topCategory}", PDO::FETCH_ASSOC);
        if ($subCategories->rowCount()) {

            foreach ($subCategories as $category) {

                array_push($allSubCategories, $category['id']);
                subCategoriesList($category['id']);
            }
        }
        return $allSubCategories;
    }
    
abdullahx
446 gün önce

Ben bu tür işlemleri gönderimli fonksiyonlar ile çözüyorum. Belki şuna benzer bir işlem işinizi çözebilir. Tamamen deneysel yazdım, hatalar çıkabilir.

function subCategoriesList($topCategory, &$allSubCategories)
{
    $subCategories = $this->databaseConn->query("SELECT * FROM category WHERE topCategory = $topCategory", PDO::FETCH_ASSOC);
    if ($subCategories->rowCount()) {
        foreach ($subCategories as $category) {
            $allSubCategories[] = $category['id'];
            subCategoriesList($category['id'], $allSubCategories);
        }
    }
    return $allSubCategories;
}

$list = subCategoriesList(1, $allSubCategories);
print_r($allSubCategories);