/**
* Get Menu
* @param number $id
* @return Multitype:
*/
Public Function menu ($id = 0) {
$menu = M (' menu ');
$arrlist = Array (); Array must be initialized, no push does not go in
$where [' app '] = ' Portal ';
$where [' parentid '] = $id;
$where [' status '] = 1;
$parent = $menu->order (' listorder asc ')->where ($where)->select ();//Determine if the children element is included
for ($i = 0; $i < count ($parent); $i + +) {
$arr [' name '] = $parent [$i] [' name '];
$arr [' id '] = $parent [$i] [' id '];
if ($id!=0)
{
$arr [' link '] = U ($parent [$i] [' app ']. ‘/‘ . $parent [$i] [' model ']. ‘/‘ . $parent [$i] [' action ']. ‘/‘ . $parent [$i] [' data ']. '/tid/'. $parent [$i] [' ParentID ']. '/id/'. $parent [$i] [' id ']);
}
Else
{
$arr [' link '] = U ($parent [$i] [' app ']. ‘/‘ . $parent [$i] [' model ']. ‘/‘ . $parent [$i] [' action ']. ‘/‘ . $parent [$i] [' data ']. '/tid/'. $parent [$i] [' id ']);
}
$arr [' child '] = $this->menu ($parent [$i] [' id ']);
Array_push ($arrlist, $arr); Proceed to the next recursion after executing this method
}
return $arrlist; One recursion completes and then executes the Array_push method
}
PHP recursive algorithm