如何使用 php 重新排列嵌套代码

问题描述 投票:0回答:0

这是我的函数,它一次又一次地嵌套相同的代码。我认为必须有一种精确而简单的方法来做到这一点。

function altkategoriler($Id)
{

    $kategoriler = $this->kategori_model->get_all(
        array(
            "Pid"=>$Id
        )
    );

    $tumKategoriler = [];

    foreach ($kategoriler as $kategori) {


            $tumKategoriler[] = $kategori->Id;
            $Id= $kategori->Id;
            $kategoriler = $this->kategori_model->get_all(
                array(
                    "Pid"=>$Id
                )
            );

            foreach($kategoriler as $kategori){
                $tumKategoriler[] = $kategori->Id;
                $Id= $kategori->Id;
                $kategoriler = $this->kategori_model->get_all(
                    array(
                        "Pid"=>$Id
                    )
                );

                foreach($kategoriler as $kategori){
                    $tumKategoriler[] = $kategori->Id;
                    $Id= $kategori->Id;
                    $kategoriler = $this->kategori_model->get_all(
                        array(
                            "Pid"=>$Id
                        )
                    );

                    foreach($kategoriler as $kategori){
                        $tumKategoriler[] = $kategori->Id;
                        $Id= $kategori->Id;
                        $kategoriler = $this->kategori_model->get_all(
                            array(
                                "Pid"=>$Id
                            )
                        );

                       
                    }
                }


            }
          

    }

    return  $tumKategoriler;

}

这部分代码从数据库中获取值

$kategoriler = $this->kategori_model->get_all(
                array(
                    "Pid"=>$Id
                )
            );

我想做那样的事吗?


function altkategoriler($Id)
{

    $kategoriler = $this->kategori_model->get_all(
        array(
            "Pid"=>$Id
        )
    );

    $tumKategoriler = [];

    foreach ($kategoriler as $kategori) {


            $tumKategoriler[] = $kategori->Id;
            $Id= $kategori->Id;
            $kategoriler = $this->kategori_model->get_all(
                array(
                    "Pid"=>$Id
                )
            );

            foreach($kategoriler as $kategori){
                $tumKategoriler[] = $kategori->Id;
                $Id= $kategori->Id;
                $kategoriler = $this->kategori_model->get_all(
                    array(
                        "Pid"=>$Id
                    )
                );

               altkategoriler($Id);

            }
          

    }

    return  $tumKategoriler;

}
php function codeigniter nest
© www.soinside.com 2019 - 2024. All rights reserved.