function sarr($arr, $id) { global $ic; $thisa = array(); $aarr = seekarr($arr, 'fup', $id); //fup 上级 if (count($aarr) > 0) { for ($i = 0; $i < count($aarr); $i++) { $thisa[$ic] = $aarr[$i]; $ic += 1; $o = $aarr[$i]['id']; //fid 栏目id $toarr = sarr($arr, $o); if (count($toarr) > 0) { $thisa = array_merge($thisa, $toarr); } } return $thisa; } }
public function menusend() { $access_token = self::get_access_token(); $url = 'https://api.weixin.qq.com/cgi-bin/menu/create?access_token=' . $access_token; //$json->access_token; $mlist = $this->db->field('id,fup,type,name,key,list')->select(); //列出一级菜单并排序 $muplist = array_values(array_sort(seekarr($mlist, 'fup', 0), 'list', 'asc')); $data = '{ "button":['; foreach ($muplist as $k => $val) { $k == 0 || ($data .= ','); //列出二级菜单并排序 $mson = array_values(array_sort(seekarr($mlist, 'fup', $val['id']), 'list', 'desc')); if (array_filter($mson)) { $data .= '{ "name":"' . $val['name'] . '", "sub_button":['; foreach ($mson as $key => $value) { $value['type'] == 0 ? $type = 'click' : ($type = 'view'); $value['type'] == 0 ? $but = 'key' : ($but = 'url'); $key == 0 || ($data .= ','); $data .= '{ "type":"' . $type . '", "name":"' . $value['name'] . '", "' . $but . '":"' . $value['key'] . '" }'; } $data .= ']}'; } else { $val['type'] == 0 ? $type = 'click' : ($type = 'view'); $val['type'] == 0 ? $but = 'key' : ($but = 'url'); $data .= '{ "type":"' . $type . '", "name":"' . $val['name'] . '", "' . $but . '":"' . $val['key'] . '" }'; } } $data .= ']}'; $return = $this->api_notice_increment($url, $data); if ($return['errcode'] == 0 && $return['errmsg'] == 'ok') { echo '菜单创建成功!' . $data; } else { echo '菜单创建失败!' . $return['errmsg']; } // $this->display(); }