मुझे $build वैरिएबल वापस करने के लिए एक पुनरावर्ती फ़ंक्शन में लूप के अंत के बाद की आवश्यकता है

यह मेरा कोड है:

    $traverse = function ($tree,$build = '') use (&$traverse) {

        foreach ($tree as $key=>$menu) {
            if (count($menu->children) > 0) {
                $build .= "<li ><a href='" . $menu->url . "'>" . $menu->text . "</a><ul>";
                    $traverse( $menu->children,$build);
                $build .= "</ul></li>";
            } else {
                $build .= "<li ><a href='" . $menu->url . "'>" . $menu->text . "</a></li>";
            }
        }
    };


 $traverse($tree );
php
0
Vahid Alvandi 6 अक्टूबर 2018, 15:32

1 उत्तर

सबसे बढ़िया उत्तर

मेरी टिप्पणी के संबंध में आपके पास होना चाहिए:

$traverse = function ($tree) use (&$traverse) {

    $build = '';
    if (count($menu->children) > 0) {
        $build .= "<li ><a href='" . $menu->url . "'>" . $menu->text . "</a><ul>";
        $build .= $traverse($menu->children);
        $build .= "</ul></li>";
    } else {
        $build .= "<li ><a href='" . $menu->url . "'>" . $menu->text . "</a></li>";
    }

    return $build;
};

जैसा कि आप देख सकते हैं कि आपको फ़ंक्शन के तर्क के रूप में $build पास करने और उपयोग करने की भी आवश्यकता नहीं है।

इसके अलावा आपको अंत में वैध होने के लिए एचटीएमएल कोड की जांच करनी चाहिए। इसकी वजह से नहीं होगा।

1
sklwebdev 6 अक्टूबर 2018, 18:53