這篇文章將教你用thinkphp5.0產生資料庫字典,有興趣的朋友一定不要錯過喔!
範例程式碼使用PHP架構:Thinkphp5.0
PHP程式碼: 卷 相關教學課程: HTML影片教學
/** * 生成数据库字典html * 可直接另存为再copy到word文档中使用 * * @return mixed */ public function dataDictionary() { $tables = Db::query('SHOW TABLE STATUS'); $table_list = array_map('array_change_key_case', $tables); $table_data = []; foreach ($table_list as $item) { $table_name = str_replace(config('database.prefix'),'',$item['name']); $table_fields = $this->showColumns($table_name); foreach ($table_fields as &$fieldItem) { $fieldItem['comment'] = $this->getDbColumnComment($table_name, $fieldItem['name']); } $table_data[] = [ 'table_name' => $item['name'], 'table_comment' => $item['comment'], 'table_fields' => $table_fields ]; } $this->assign('table_data', $table_data); return $this->fetch(''); } /** * 显示表结构信息 * * @param string $table * @return array */ private function showColumns($table){ $sql = 'SHOW COLUMNS FROM `'.config('database.prefix').$table.'`'; $result = Db::query($sql); if ($result === false) return array(); $array = array(); if (!empty($result)) { foreach ($result as $k=>$v) { $array[$v['Field']] = [ 'name' => $v['Field'], 'type' => $v['Type'], 'null' => $v['Null'], 'default' => $v['Default'], 'primary' => (strtolower($v['Key']) == 'pri'), 'autoinc' => (strtolower($v['Extra']) == 'auto_increment'), ]; } } return $array; } /** * 获取数据库字段注释 * * @param string $table_name 数据表名称(必须,不含前缀) * @param string|boolean $field 字段名称(默认获取全部字段,单个字段请输入字段名称) * @param string $table_schema 数据库名称(可选) * @return string */ private function getDbColumnComment($table_name = '', $field = true, $table_schema = ''){ // 接收参数 $database = config('database'); $table_schema = empty($table_schema) ? $database['database'] : $table_schema; $table_name = $database['prefix'] . $table_name; // 处理参数 $param = [ $table_name, $table_schema ]; // 字段 $columnName = ''; if($field !== true){ $param[] = $field; $columnName = "AND COLUMN_NAME = ?"; } // 查询结果 $result = Db::query("SELECT COLUMN_NAME as field,column_comment as comment FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = ? AND table_schema = ? $columnName", $param); if(empty($result) && $field !== true){ return $table_name . '表' . $field . '字段不存在'; } // 处理结果 foreach($result as $k => $v){ $data[$v['field']] = $v['comment']; if(strpos($v['comment'], '#*#') !== false){ $tmpArr = explode('#*#', $v['comment']); $data[$v['field']] = json_decode(end($tmpArr), true); } } // 字段注释格式不正确 if(empty($data)){ return $table_name . '表' . $field . '字段注释格式不正确'; } return count($data) == 1 ? reset($data) : $data; }
想了解更多訊息,請追蹤PHP中文網的其他教學!
以上是thinkphp5.0框架 怎麼產生資料庫字典的詳細內容。更多資訊請關注PHP中文網其他相關文章!

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

php判断有没有小数点的方法:1、使用“strpos(数字字符串,'.')”语法,如果返回小数点在字符串中第一次出现的位置,则有小数点;2、使用“strrpos(数字字符串,'.')”语句,如果返回小数点在字符串中最后一次出现的位置,则有。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。

查找方法:1、用strpos(),语法“strpos("字符串值","查找子串")+1”;2、用stripos(),语法“strpos("字符串值","查找子串")+1”。因为字符串是从0开始计数的,因此两个函数获取的位置需要进行加1处理。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)