当前位置:首页>python>《Python 从入门到精通》028 | 循环嵌套:打印九九乘法表只是开始

《Python 从入门到精通》028 | 循环嵌套:打印九九乘法表只是开始

  • 2026-07-01 13:26:44
《Python 从入门到精通》028 | 循环嵌套:打印九九乘法表只是开始

这一篇会让读者真正感受到,循环一旦“套起来”,程序能做的事情会一下子多很多。

前面你已经学会了两种循环:

whilefor

你也学会了 range(),知道怎么控制循环次数。 还学了 breakcontinuepass,知道循环中途怎么更灵活地处理。

到这里,单层循环你已经有基础了。

可真实程序里,很多场景不是“只重复一层”就够的。 有时候,你需要:

外面先循环一轮 里面再循环一轮

这就像什么。

比如你整理班级座位表:

先看第 1 排 第 1 排里再看每个座位

再看第 2 排 第 2 排里再看每个座位

这就是一种非常典型的“循环里再套循环”的结构。

这就是今天要讲的内容:

循环嵌套

很多教程讲到这里时,最喜欢举的例子就是九九乘法表。 这个例子当然很经典。 但你要知道,九九乘法表只是循环嵌套最基础的练习之一。 真正重要的是,你要借它理解:

一层循环控制大方向 另一层循环控制细节

一、什么是循环嵌套

先说最直白的理解。

循环嵌套,就是在一个循环里面,再写一个循环。

比如:

for i in range(3):    print('外层循环开始')for j in range(2):        print('内层循环执行')

这里就出现了两层循环:

外层 for内层 for

程序执行时,不是先把外层全部跑完再跑内层。 而是:

外层每跑一轮, 内层都要完整跑一遍。

这就是循环嵌套最核心的运行方式。

二、先用一个最简单的例子感受“外层一轮,内层一整遍”

来看这段代码:

for i in range(3):    print(f'外层第{i}轮开始')for j in range(2):        print(f'    内层第{j}轮')

输出大概会是:

外层第0轮开始    内层第0    内层第1外层第1轮开始    内层第0    内层第1外层第2轮开始    内层第0    内层第1

你要重点体会这个节奏:

外层第 0 轮 内层跑完 0、1

外层第 1 轮 内层再跑完 0、1

外层第 2 轮 内层再跑完 0、1

也就是说:

内层循环会随着外层循环的每一轮,完整重复一遍

这个节奏一旦理解了,后面很多嵌套循环都不会太难。

三、可以把循环嵌套理解成“二维处理”

单层循环更像在处理“一条线”。

比如:

从 1 到 5 一句话里的每个字 一个列表里的每个元素

而嵌套循环,更像在处理“行和列”“层和层”“组和组”。

比如:

座位表的每一排和每一列 表格的每一行和每一列 班级的每个小组和组内每个成员 每天的每个小时 每个学生的每门成绩

所以嵌套循环特别适合处理:

成组的数据 分层的结构 二维的规律

你现在先不用急着想太复杂, 只要建立一个感觉就行:

单层循环像一条线 嵌套循环像一个面

四、最经典的入门例子:打印方块

先别急着上九九乘法表, 我们先从一个更容易看懂的例子开始。

比如打印一个 3 行 4 列的星号方块:

for i in range(3):for j in range(4):        print('*', end='')    print()

输出结果会是:

************

这段代码特别值得你认真看懂。

外层循环:

for i in range(3):

表示一共做 3 行。

内层循环:

for j in range(4):    print('*', end='')

表示每一行打印 4 个星号。

内层结束后:

print()

表示换行。

所以整体逻辑就是:

每一行打印 4 个星号 一共打印 3 行

这就是循环嵌套特别经典的“行列结构”。

五、这里第一次出现了一个新东西:end=''

你会注意到,刚才代码里有一句:

print('*', end='')

前面我们一直直接用 print(),一打印就换行。 但这里如果每打印一个星号都换行,就不对了。

所以这里用了:

end=''

它的意思是:

打印完以后,先不要自动换行

这样一来,4 个星号就会排在同一行。

而后面的:

print()

才是真正负责换行。

你现在先记住最实用的结论就行:

print(..., end='')表示打印后不换行

print()单独写一行,常用来换行

这个知识点在打印图形、表格、乘法表时会特别常用。

六、自己动手做一个打印方块练习

下面这段代码建议你现在就敲一遍。

for i in range(3):for j in range(5):        print('*', end='')    print()

运行结果会是:

***************

然后你自己改两个地方试试。

把 3 改成 4 把 5 改成 2

看看结果会变成什么样。

你会发现:

外层数字控制行数 内层数字控制每行有多少个元素

这个感觉一旦建立起来,嵌套循环就会顺很多。

七、外层控制“做几行”,内层控制“每行做几次”

这是当前阶段最重要的一句话之一。

比如刚才这个例子:

for i in range(3):for j in range(5):        print('*', end='')    print()

你可以直接这么理解:

外层 3 次 所以有 3 行

每一行里,内层 5 次 所以每行有 5 个星号

所以以后你再看到类似结构, 脑子里要很快形成这个翻译:

外层定大框架 内层定每个框架里的细节

这个思维非常重要。

八、先做一个“数字矩形”的练习

别总是打印星号,我们来换点内容。

比如:

for i in range(3):for j in range(4):        print(j, end=' ')    print()

输出会是:

012301230123

这里内层打印的是 j, 所以每一行都会显示:

0、1、2、3

然后外层循环重复 3 行。

这个例子特别好, 因为它会让你更明显地看到:

内层变量 j 在变 外层变量 i 控制整轮重复

九、再做一个“行号 + 列号”的练习

这个练习特别有助于理解外层和内层各自负责什么。

for i in range(3):for j in range(4):        print(f'({i},{j})', end=' ')    print()

输出会类似这样:

(0,0) (0,1) (0,2) (0,3(1,0) (1,1) (1,2) (1,3(2,0) (2,1) (2,2) (2,3

你从这个结果里会看得特别清楚:

外层变量 i 先固定住 内层变量 j 在这一行里不断变化

等内层跑完一整轮, 外层变量 i 才进入下一轮

这个练习对理解嵌套循环的运行顺序特别有帮助。

十、现在来讲最经典的九九乘法表

先上代码:

for i in range(110):for j in range(1, i + 1):        print(f'{j}×{i}={i*j}', end='  ')    print()

输出结果会是:

1×1=11×2=22×2=41×3=32×3=63×3=9...1×9=92×9=18  ...  9×9=81

这个例子为什么经典。

因为它把嵌套循环的两个层级体现得特别清楚:

外层控制第几行 内层控制这一行里打印几项

具体来说:

外层:

for i in range(110):

表示从第 1 行到第 9 行。

内层:

for j in range(1, i + 1):

表示当前这一行打印从 1 到 i 的内容。

所以:

第 1 行打印 1 项 第 2 行打印 2 项 第 3 行打印 3 项 …… 第 9 行打印 9 项

这就是九九乘法表的核心规律。

十一、为什么内层是 range(1, i + 1)

这个点很多新手第一次会有点绕。

比如外层来到:

i = 3

那这一行应该打印:

1×3 2×3 3×3

也就是说,内层要从 1 走到 3。

而 range() 的结束值是不包含的, 所以如果想让它取到 3,就得写:

range(14)

也就是:

range(1, i + 1)

因为当前 i = 3i + 1 = 4, 刚好能取到 1、2、3。

这个思路你最好真正理解, 不要只是机械记代码。

十二、先别急着背九九乘法表代码,先看懂它的运行节奏

来看第 3 行时会发生什么。

外层来到:

i = 3

于是进入内层:

for j in range(1, i + 1):

也就是:

for j in range(14):

所以 j 会依次取:

1 2 3

每次打印:

1×3=32×3=63×3=9

打印完这一行以后, 执行一个:

print()

换行。

然后外层进入下一轮:

i = 4

再重新走一遍内层。

你只要把这个“外层换行、内层拼一行”的节奏看懂, 九九乘法表就不神秘了。

十三、自己动手做一个“简化乘法表”练习

先别一上来就 9×9。 我们先做 3×3:

for i in range(14):for j in range(1, i + 1):        print(f'{j}×{i}={i*j}', end='  ')    print()

输出会是:

1×1=11×2=22×2=41×3=32×3=63×3=9

这个练习特别适合现在做。 因为规模小,容易看懂。

你等看懂了,再把 4 改成 10:

for i in range(110):

自然就变成完整九九乘法表了。

十四、循环嵌套不只是乘法表,它还特别适合打印图形

比如打印直角三角形:

for i in range(16):for j in range(i):        print('*', end='')    print()

输出结果:

***************

这里的逻辑就是:

第 1 行打印 1 个星号 第 2 行打印 2 个星号 第 3 行打印 3 个星号 ……

你会发现,这和乘法表非常像。

都是:

外层控制第几行 内层控制这一行打印几次

所以一旦你把这种“行数 + 每行次数”的思维掌握住, 图形打印、乘法表这类题就都会好很多。

十五、再做一个倒三角练习

比如:

for i in range(50-1):for j in range(i):        print('*', end='')    print()

输出会是:

***************

这个例子很有帮助, 因为它会让你意识到:

外层不一定非得从小到大 也可以倒着来

只要外层的变化规律变了, 内层每行打印的数量也会随之变化。

这就是嵌套循环很有意思的地方。

十六、嵌套循环里最怕什么

最怕两个问题。

第一,不清楚外层和内层各自控制什么。 结果写着写着,自己都不知道谁在负责行、谁在负责列。

第二,不会看运行顺序。 总觉得程序是“同时”在做很多事。 其实不是,它仍然是一轮一轮顺序执行的。

所以你现在最重要的,不是追求写很多花哨图形。 而是先把这两件事想清楚:

外层一轮到底表示什么 内层一整遍到底表示什么

只要这两个问题清楚, 嵌套循环就不会太乱。

十七、先用一句话概括嵌套循环的执行节奏

这个你一定要记。

外层每执行一轮, 内层就完整执行一遍。

比如:

for i in range(3):for j in range(2):        print(i, j)

执行节奏是:

当 i = 0 时,j 跑完 0、1 当 i = 1 时,j 再跑完 0、1 当 i = 2 时,j 再跑完 0、1

不是外层跑完以后再整体跑内层。 而是每一轮外层,都会带着内层完整走一遍。

这一点特别关键。

十八、嵌套循环和变量名最好写清楚

比如你会经常看到:

for i in range(...):for j in range(...):

这没错,也很常见。 但当前阶段你如果还不熟,其实可以写得更清楚一点。

比如:

for row in range(3):for col in range(4):        print(f'({row},{col})', end=' ')    print()

这样一看就知道:

row 表示行col 表示列

对新手来说,这种命名方式有时候会更友好。

所以你不必被 ij 绑死。 变量名写清楚,理解往往更轻松。

十九、实操,做一个“5 行 5 列数字表”练习

for row in range(5):for col in range(5):        print(col, end=' ')    print()

输出大概是:

0123401234012340123401234

然后你再改成打印行号:

for row in range(5):for col in range(5):        print(row, end=' ')    print()

你会发现结果完全不一样。

这个练习很有用, 因为它能帮助你体会:

外层变量和内层变量在输出里各自起什么作用

二十、实操,做一个“行列坐标”练习

这个练习特别推荐。

for row in range(3):for col in range(4):        print(f'{row},{col}', end='   ')    print()

输出会很像一个坐标表。

你做完以后,对“二维遍历”的感觉会强很多。

因为你会亲眼看到:

程序正在一行一行、一个位置一个位置地处理内容

这比单纯看概念更有用。

二十一、今天一定要亲手完成的 4 个练习

第一个,打印 3 行 4 列的星号方块。

for i in range(3):for j in range(4):        print('*', end='')    print()

第二个,打印直角三角形。

for i in range(16):for j in range(i):        print('*', end='')    print()

第三个,打印 3×3 简化乘法表。

for i in range(14):for j in range(1, i + 1):        print(f'{j}×{i}={i*j}', end='  ')    print()

第四个,打印行列坐标。

for row in range(3):for col in range(4):        print(f'({row},{col})', end=' ')    print()

这四个练习分别对应:

方块 三角形 乘法表 二维坐标

几乎把循环嵌套最基础的感觉都覆盖到了。

二十二、再做一个综合小练习

下面这个练习特别适合作为今天的收尾。

需求:

打印一个 1 到 5 的数字三角形。

代码如下:

for i in range(16):for j in range(1, i + 1):        print(j, end=' ')    print()

输出结果会是:

112123123412345

这个例子非常好, 因为它同时融合了:

外层控制行数 内层控制每行打印数量 内层变量本身也参与输出内容

你一旦把这个练习跑顺, 循环嵌套的理解会明显上一个台阶。

二十三、写在最后

很多人第一次学循环嵌套时,会觉得它突然复杂了很多。 其实它并不是全新规则。 它只是把你已经学过的循环,再叠了一层。

单层循环解决的是:

重复一条线上的事情

嵌套循环解决的是:

重复一个面上的事情 或者说,处理带行列、带层次的结构

所以你现在最重要的,不是一下子写出所有复杂图形。 而是先把最核心的运行节奏真正看懂:

外层一轮 内层一整遍

只要这件事你脑子里清楚了, 后面很多看起来复杂的嵌套循环,其实都能拆开理解。

这一步非常关键。 因为从这里开始,程序处理复杂结构的能力,已经明显变强了。

本文小结

循环嵌套就是在一个循环里面再写一个循环。 它特别适合处理行列、层级、二维结构等场景。 最关键的执行规律是:外层每执行一轮,内层就完整执行一遍。 打印方块、三角形、九九乘法表,都是循环嵌套的经典练习。 学习循环嵌套最重要的,不是背代码,而是分清外层和内层各自控制什么。

下篇预告

第 29 篇,我们把这一阶段再往前推进一步。

推导出流程图思维:先想逻辑,再写代码

到那一篇,你会开始真正体会到:写程序不是先敲代码,而是先把步骤和流程想明白。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-04 15:23:23 HTTP/2.0 GET : https://f.mffb.com.cn/a/488146.html
  2. 运行时间 : 0.094250s [ 吞吐率:10.61req/s ] 内存消耗:4,571.21kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=10bdcae29c887e7af6e757a98132f54e
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000647s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000887s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000356s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000233s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000480s ]
  6. SELECT * FROM `set` [ RunTime:0.000230s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000573s ]
  8. SELECT * FROM `article` WHERE `id` = 488146 LIMIT 1 [ RunTime:0.005567s ]
  9. UPDATE `article` SET `lasttime` = 1783149803 WHERE `id` = 488146 [ RunTime:0.009201s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000390s ]
  11. SELECT * FROM `article` WHERE `id` < 488146 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000544s ]
  12. SELECT * FROM `article` WHERE `id` > 488146 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000352s ]
  13. SELECT * FROM `article` WHERE `id` < 488146 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000531s ]
  14. SELECT * FROM `article` WHERE `id` < 488146 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.002121s ]
  15. SELECT * FROM `article` WHERE `id` < 488146 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.005061s ]
0.095837s