常见中医证型 + 判断条件 + 推荐方剂(简表)

编号证型名称症状关键词(选1~3)舌象脉象推荐方剂
01痰热咳嗽咳嗽、痰黄、口干黄腻滑数清金化痰汤
02风寒咳嗽咳嗽、怕冷、流涕苔薄白浮紧三拗汤
03气血两虚乏力、面色淡白、心悸八珍汤
04肝郁气滞胸闷、易怒、叹气正常或红柴胡疏肝散
05阴虚火旺口渴、盗汗、五心烦热细数知柏地黄丸
06阳虚畏寒畏寒、四肢冷、腰酸淡白金匮肾气丸
07肾阴虚腰膝酸软、耳鸣、盗汗六味地黄丸
08肾阳虚畏寒、下肢冷、夜尿频淡胖沉弱右归丸
09脾阳虚腹泻、食少、怕冷淡白迟弱附子理中丸
10胃热炽盛胃脘痛、口臭、便秘滑数清胃散
11肝火上炎头痛、易怒、面红弦数龙胆泻肝汤
12风热感冒发热、咽痛、头痛红、薄黄浮数银翘散
13风寒感冒恶寒、头痛、无汗淡、薄白浮紧荆防败毒散
14湿热下注小便黄赤、带下黄臭黄腻滑数龙胆泻肝汤
15痰湿中阻胸闷、痰多、体重困重白腻二陈汤
16脾虚湿盛食欲差、腹胀、腹泻白腻参苓白术散
17血瘀阻络刺痛、舌紫、瘀斑紫暗弦涩血府逐瘀汤
18心血不足心悸、失眠、多梦养心汤
19肝肾阴虚头晕、耳鸣、腰酸左归丸
20心阴虚心悸、五心烦热、失眠红少苔细数天王补心丹
21心阳虚心悸、胸闷、怕冷沉细桂枝甘草汤
22脾气虚乏力、纳差、腹泻四君子汤
23肺气虚咳嗽无力、自汗玉屏风散
24肺阴虚干咳、口干、潮热红少苔细数沙参麦冬汤
25痰火扰心失眠、烦躁、痰多黄腻滑数温胆汤
26肝风内动眩晕、震颤、手抖红绛镇肝熄风汤
27气滞血瘀胁肋胀痛、舌紫紫暗弦涩膈下逐瘀汤
28湿阻中焦腹胀、恶心、食欲差白腻平胃散
29胃寒胃痛、喜热饮、遇冷加重良附丸
30肝气犯胃胃胀、嗳气、易怒正常柴胡疏肝散

推荐写法(PHP 规则)

举例:将“肝郁气滞”写成一段 PHP 判断逻辑

elseif (
(in_array('胸闷', $symptoms) || in_array('叹气', $symptoms) || in_array('易怒', $symptoms))
&& $pulse === '弦'
) {
$diagnosis = "肝郁气滞";
$formula = "柴胡疏肝散";
}

高效建议(进阶)

如果你希望:

目标实现方式
批量维护规则将上表做成 JSON 或 MySQL 表
自动匹配最接近证型遍历规则集,匹配条件越多分数越高
可视化规则管理制作后台界面管理规则条件
模糊关键词搜索使用 PHP 函数 strpos() 替代 in_array()

如你希望我现在就为你:

  1. 🛠️ 整理成 PHP if...elseif... 代码段;
  2. 📦 打包成 JSON / SQL 格式(适合数据库读取);
  3. 📋 提供配套前端/后台 UI(规则库管理页面);

请告诉我你偏好哪一种,我立即为你生成!

整理成 PHP if...elseif... 代码段;

// 模糊匹配函数:同时支持精确匹配与关键词包含

function match_symptom($symptoms, $keyword) {
foreach ($symptoms as $s) {
if ($s === $keyword || strpos($s, $keyword) !== false) {
return true;
}
}
return false;
}

// 诊断规则匹配逻辑(模糊与精确兼容)
if (match_symptom($symptoms, ‘咳’) && match_symptom($symptoms, ‘痰’) && $tongue === ‘黄腻’ && in_array($pulse, [‘滑’, ‘数’])) {
$diagnosis = “痰热咳嗽”;
$formula = “清金化痰汤”;
} elseif (match_symptom($symptoms, ‘咳’) && match_symptom($symptoms, ‘怕冷’) && match_symptom($symptoms, ‘流涕’) && $tongue === ‘薄白’ && $pulse === ‘浮紧’) {
$diagnosis = “风寒咳嗽”;
$formula = “三拗汤”;
} elseif (match_symptom($symptoms, ‘乏力’) && match_symptom($symptoms, ‘心悸’) && $tongue === ‘淡’ && $pulse === ‘细’) {
$diagnosis = “气血两虚”;
$formula = “八珍汤”;

} elseif ((match_symptom($symptoms, ‘胸闷’) || match_symptom($symptoms, ‘叹气’) || match_symptom($symptoms, ‘易怒’)) && $pulse === ‘弦’) {
$diagnosis = “肝郁气滞”;
$formula = “柴胡疏肝散”;
} elseif (match_symptom($symptoms, ‘口渴’) && match_symptom($symptoms, ‘盗汗’) && $tongue === ‘红’ && $pulse === ‘细数’) {
$diagnosis = “阴虚火旺”;
$formula = “知柏地黄丸”;
} elseif (match_symptom($symptoms, ‘畏寒’) && match_symptom($symptoms, ‘四肢冷’) && match_symptom($symptoms, ‘腰酸’) && $tongue === ‘淡白’ && $pulse === ‘迟’) {
$diagnosis = “阳虚畏寒”;
$formula = “金匮肾气丸”;
} elseif (match_symptom($symptoms, ‘腰膝酸软’) && match_symptom($symptoms, ‘耳鸣’) && match_symptom($symptoms, ‘盗汗’) && $tongue === ‘红’ && $pulse === ‘细’) {
$diagnosis = “肾阴虚”;
$formula = “六味地黄丸”;

} elseif (match_symptom($symptoms, ‘畏寒’) && match_symptom($symptoms, ‘夜尿频’) && $tongue === ‘淡胖’ && $pulse === ‘沉弱’) {
$diagnosis = “肾阳虚”;
$formula = “右归丸”;
} elseif (match_symptom($symptoms, ‘腹泻’) && match_symptom($symptoms, ‘食少’) && $tongue === ‘淡白’ && $pulse === ‘迟弱’) {
$diagnosis = “脾阳虚”;
$formula = “附子理中丸”;
} elseif (match_symptom($symptoms, ‘胃脘痛’) && match_symptom($symptoms, ‘口臭’) && match_symptom($symptoms, ‘便秘’) && $tongue === ‘黄’ && $pulse === ‘滑数’) {
$diagnosis = “胃热炽盛”;
$formula = “清胃散”;
} elseif (match_symptom($symptoms, ‘头痛’) && match_symptom($symptoms, ‘面红’) && $tongue === ‘红’ && $pulse === ‘弦数’) {
$diagnosis = “肝火上炎”;
$formula = “龙胆泻肝汤”;
} elseif (match_symptom($symptoms, ‘发热’) && match_symptom($symptoms, ‘咽痛’) && match_symptom($symptoms, ‘头痛’) && $tongue === ‘红’ && $pulse === ‘浮数’) {
$diagnosis = “风热感冒”;
$formula = “银翘散”;
} elseif (match_symptom($symptoms, ‘恶寒’) && match_symptom($symptoms, ‘无汗’) && $tongue === ‘薄白’ && $pulse === ‘浮紧’) {
$diagnosis = “风寒感冒”;
$formula = “荆防败毒散”;

} elseif (match_symptom($symptoms, ‘小便黄赤’) && match_symptom($symptoms, ‘带下黄臭’) && $tongue === ‘黄腻’ && $pulse === ‘滑数’) {
$diagnosis = “湿热下注”;
$formula = “龙胆泻肝汤”;
} elseif (match_symptom($symptoms, ‘痰多’) && match_symptom($symptoms, ‘体重困重’) && $tongue === ‘白腻’ && $pulse === ‘滑’) {
$diagnosis = “痰湿中阻”;
$formula = “二陈汤”;
} elseif (match_symptom($symptoms, ‘食欲差’) && match_symptom($symptoms, ‘腹胀’) && match_symptom($symptoms, ‘腹泻’) && $tongue === ‘白腻’ && $pulse === ‘缓’) {
$diagnosis = “脾虚湿盛”;
$formula = “参苓白术散”;
} elseif (match_symptom($symptoms, ‘刺痛’) && $tongue === ‘紫暗’ && $pulse === ‘弦涩’) {
$diagnosis = “血瘀阻络”;
$formula = “血府逐瘀汤”;
} elseif (match_symptom($symptoms, ‘心悸’) && match_symptom($symptoms, ‘失眠’) && $tongue === ‘淡’ && $pulse === ‘细’) {
$diagnosis = “心血不足”;
$formula = “养心汤”;
} elseif (match_symptom($symptoms, ‘头晕’) && match_symptom($symptoms, ‘耳鸣’) && match_symptom($symptoms, ‘腰酸’) && $tongue === ‘红’ && $pulse === ‘细’) {
$diagnosis = “肝肾阴虚”;
$formula = “左归丸”;
} elseif (match_symptom($symptoms, ‘心悸’) && match_symptom($symptoms, ‘五心烦热’) && match_symptom($symptoms, ‘失眠’) && $tongue === ‘红少苔’ && $pulse === ‘细数’) {
$diagnosis = “心阴虚”;
$formula = “天王补心丹”;
}


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *