php 無限分類實現方法實例代碼_PHP教程
推薦:PHP根據變量的類型 選擇dump或echo我想要在PHP輸出變量的時候,如果是數組,則用var_dump,如果是字符串之類的,則echo即可,該如何實現呢? 此時,is_scalar內置函數就派上用場了。is_scalar-- 檢測變量是否是一個標量 標量變量是指那些包含了 integer 、 float 、 string 或 boolean 的變量,而 array
算法,各種算法對一個數學很爛的人來說真是一個嚴重的打擊!!!但誰讓咱干程序這行呢(哭)。
搞了幾小時,參照 http://yuepin.com/Explore/tree.php? 該網址的說明實例,可算是明白一點,下邊代碼,給自己留個筆記。
注:因為是無限次的調用,所以我加了個判斷,在層級$level=10的時候讓他跳出。沒有哪個正常網站會放超過10層的目錄結構吧。
- $yArr = array(
- 1 => array('id'=>'1','parentid'=>0,'name'=>'一級欄目一'),
- 2 => array('id'=>'2','parentid'=>0,'name'=>'一級欄目二'),
- 3 => array('id'=>'3','parentid'=>1,'name'=>'二級欄目一'),
- 4 => array('id'=>'4','parentid'=>1,'name'=>'二級欄目二'),
- 5 => array('id'=>'5','parentid'=>2,'name'=>'二級欄目三'),
- 6 => array('id'=>'6','parentid'=>3,'name'=>'三級欄目一'),
- 7 => array('id'=>'7','parentid'=>3,'name'=>'三級欄目二'),
- 8 => array('id'=>'8','parentid'=>2,'name'=>'二級欄目三'),
- );
- /**
- * 無限分類
- * @param array $data 原始數組
- * @param int $id 當前id
- * @param int $layer 當前層級
- */
- function genCate($data, $pid = 0, $level = 0)
- {
- if($level == 10) break;
- static $tarr= array();
- $l = str_repeat(" ", $level);
- $l = $l.'└';
- foreach($data as $row)
- {
- /**
- * 如果父ID為當前傳入的id www.wf0088.com
- */
- if($row['parentid'] == $pid)
- {
- //如果當前遍歷的id不為空
- $row['name'] = htmlspecialchars($l.$row['name']);
- $row['level'] = $level;
- $tarr[] = $row;
- genCate($data, $row['id'], $level+1);//遞歸調用
- }
- }
- return $tarr;
- }
- $carr = genCate($yArr);
- print_r($carr);
分享:CI鏈接操作多個數據庫CI鏈接多個數據庫 最近有個需求,做一個獨立后臺出來,這個獨立后臺有單獨的庫,單獨的url,單獨。但是,這里邊只是一些基礎數據,而使用者需要通過該庫查看另一個庫里的統計數據。這就帶來一個問題:我需要在控制器里邊可以同時操作兩個數據庫,而且這兩個庫毫不相干!
相關PHP教程:
- 相關鏈接:
- 教程說明:
PHP教程-php 無限分類實現方法實例代碼。