PHP 無限遞迴函式

來源:互聯網
上載者:User
 
/** * 無限遞迴下拉選擇框 * @param $data   數組 * @param $pid    父id * @param int $t  迴圈次數:作用縮排 * @param int $selected 選中的下標 * @return string * @author zhengjingqiang * @email scenewood@163.com * @date 2015-10-22 */function html_options($data=array(), $pid=0, $t=-1, $selected=0){    $html_options = '';    $t++;    $nbspstr = str_repeat('&nbsp;', $t * 4);    if ($data) {        foreach ($data as $k => $v) {            if($pid == $v['pid']){                // 判斷是否是最後一個下拉選項卡                $symbol_str = (count($data) == ($k+1)) ? '┗' : '┣';                // 判斷是否選中                $selected_str = ($selected == $v['id']) ? ' selected="selected"' : '';                // 下拉選擇框資料                $html_options .= '<option value="' . $v['id'] . '" '.$selected_str.'>' . $nbspstr . $symbol_str . $v['name'] . '</option>';                // 無限迴圈尋找子集                $html_options .= html_options($data, $v['id'], $t, $selected);            }        }    }    return $html_options;}/** * 二維數組遞迴 * @param array $arr * @return array * @author zhengjingqiang * @email scenewood@163.com */function category($arr = array()){    $info = array();    if(count($arr) > 0){        foreach($arr as $k => $vo){            if($vo['pid'] == 0 ){                foreach($arr as $v){                    if($v['pid'] == $vo['id']){                        $vo['children'][] = $v;                    }                }                $info[] = $vo;            }        }    }    return $info;}/** * 無限分類 * @param $array * @param int $pid * @return array * @author zhengjingqiang * @email scenewood@163.com */function menuTree($array,$pid){    $arr = array();    foreach ($array as $v) {        if ($v['pid'] == $pid) {            $tem = menuTree($array, $v['id']);            //判斷是否存在子數組            $tem && $v['child'] = $tem;            $arr[] = $v;        }    }    return $arr;}


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.