网易首页 > 网易号 > 正文 申请入驻

PHP 嵌套循环的深入使用

0
分享至

PHP 嵌套循环的深入使用

嵌套循环是指在一个循环内部包含另一个循环的结构。PHP 中嵌套循环可以处理多维数据、复杂模式生成等任务。以下是嵌套循环的各种使用场景和示例:

1. 基本二维数组遍历

php

$matrix = [

[1, 2, 3],

[4, 5, 6],

[7, 8, 9]

// 外层循环控制行,内层循环控制列

for ($i = 0; $i < count($matrix); $i++) {

for ($j = 0; $j < count($matrix[$i]); $j++) {

echo $matrix[$i][$j] . " ";

echo "\n"; // 换行

2. 打印乘法表

php

for ($i = 1; $i <= 9; $i++) {

for ($j = 1; $j <= $i; $j++) {

echo "$j × $i = " . ($i * $j) . "\t";

echo "\n";

3. 多维关联数组处理

php

$students = [

"class1" => ["Alice" => 85, "Bob" => 76],

"class2" => ["Charlie" => 92, "David" => 88],

"class3" => ["Eve" => 95, "Frank" => 79]

foreach ($students as $class => $scores) {

echo "班级: $class\n";

for ($i = 0; $i < count($scores); $i++) {

$name = array_keys($scores)[$i];

$score = array_values($scores)[$i];

echo " $name: $score\n";

4. 生成复杂图案

php

// 金字塔图案

$rows = 5;

for ($i = 1; $i <= $rows; $i++) {

// 打印空格

for ($k = $rows; $k > $i; $k--) {

echo " ";

// 打印星号

for ($j = 1; $j <= (2 * $i - 1); $j++) {

echo "*";

echo "\n";

5. 矩阵运算

php

$a = [[1, 2], [3, 4]];

$b = [[5, 6], [7, 8]];

$result = [[0, 0], [0, 0]];

// 矩阵相乘

for ($i = 0; $i < 2; $i++) {

for ($j = 0; $j < 2; $j++) {

for ($k = 0; $k < 2; $k++) {

$result[$i][$j] += $a[$i][$k] * $b[$k][$j];

print_r($result);

6. 三重嵌套循环处理三维数据

php

// 三维数组遍历

$cube = [

[1, 2],

[3, 4]

],

[5, 6],

[7, 8]

for ($i = 0; $i < count($cube); $i++) {

for ($j = 0; $j < count($cube[$i]); $j++) {

for ($k = 0; $k < count($cube[$i][$j]); $k++) {

echo "cube[$i][$j][$k] = " . $cube[$i][$j][$k] . "\n";

7. 组合生成

php

// 生成所有可能的两位数组合

for ($i = 1; $i <= 3; $i++) {

for ($j = 1; $j <= 3; $j++) {

echo "$i$j ";

// 输出: 11 12 13 21 22 23 31 32 33

8. 嵌套循环中的控制结构

php

// 查找素数

for ($n = 2; $n <= 50; $n++) {

$isPrime = true;

for ($i = 2; $i * $i <= $n; $i++) {

if ($n % $i == 0) {

$isPrime = false;

break;

if ($isPrime) {

echo "$n 是素数\n";

9. 嵌套循环与条件判断结合

php

// 找出100-999之间的水仙花数

for ($i = 1; $i <= 9; $i++) {

for ($j = 0; $j <= 9; $j++) {

for ($k = 0; $k <= 9; $k++) {

$num = $i * 100 + $j * 10 + $k;

$sum = $i**3 + $j**3 + $k**3;

if ($num == $sum) {

echo "$num 是水仙花数\n";

10. 性能考虑与优化

php

// 不优化的嵌套循环

$start = microtime(true);

for ($i = 0; $i < 1000; $i++) {

for ($j = 0; $j < 1000; $j++) {

// 一些操作

echo "执行时间: " . (microtime(true) - $start) . " 秒\n";

// 优化的嵌套循环(减少内部循环的计算)

$start = microtime(true);

$limit = 1000;

for ($i = 0; $i < $limit; $i++) {

for ($j = 0; $j < $limit; $j++) {

// 一些操作

echo "优化后执行时间: " . (microtime(true) - $start) . " 秒\n";

嵌套循环的最佳实践

  1. 避免过深嵌套:通常超过3层嵌套会使代码难以理解和维护
  2. 合理命名变量:使用有意义的变量名如,而不是,
  3. $row
  4. $col
  5. $i
  6. $j

  1. 考虑性能:内层循环的执行次数是总复杂度的关键
  2. 适时使用 break/continue:可以提前终止或跳过某些迭代
  3. 考虑替代方案:对于某些问题,递归或专用函数可能更合适

嵌套循环是处理多维数据的强大工具,但需要谨慎使用以避免代码复杂度过高和性能问题。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
国际空间站7大禁令:禁止发生性关系……最离谱的却是最后一条!

国际空间站7大禁令:禁止发生性关系……最离谱的却是最后一条!

徐德文科学频道
2025-09-25 20:05:13
亚朵大战全季,传统五星级酒店输麻了

亚朵大战全季,传统五星级酒店输麻了

IC实验室
2025-11-13 15:50:52
率先开火?中国刚公布黄海演习,日本自卫队就抢先发视频挑衅!

率先开火?中国刚公布黄海演习,日本自卫队就抢先发视频挑衅!

阿龙聊军事
2025-11-16 20:57:31
DNA证据开口说话:狗主反杀案惊天逆转,真相反转惊呆众人

DNA证据开口说话:狗主反杀案惊天逆转,真相反转惊呆众人

阿燕姐说育儿
2025-11-17 05:03:48
全运乒乓男单奖金出炉!樊振东、林诗栋、王楚钦、袁励岑奖金多少

全运乒乓男单奖金出炉!樊振东、林诗栋、王楚钦、袁励岑奖金多少

小彭美识
2025-11-16 16:56:12
为啥混混不去大公司收保护费?网友:大公司背后势力他们惹不起

为啥混混不去大公司收保护费?网友:大公司背后势力他们惹不起

带你感受人间冷暖
2025-11-16 00:15:05
重庆风向变了!市中心悄悄“东移”,这3个区域即将爆发!

重庆风向变了!市中心悄悄“东移”,这3个区域即将爆发!

今日搞笑分享
2025-11-17 05:55:02
在孟加拉国,我不是在旅游,我是在见证什么叫真正的人口压力

在孟加拉国,我不是在旅游,我是在见证什么叫真正的人口压力

诗意世界
2025-11-05 18:18:26
19秒轰9分!哈登37+7+8险超神!凯尔特人3人组轰85分打爆快船

19秒轰9分!哈登37+7+8险超神!凯尔特人3人组轰85分打爆快船

体坛小李
2025-11-17 07:33:10
全运会三个细节,看清樊振东人品!恩师争议发声,对林诗栋不礼貌

全运会三个细节,看清樊振东人品!恩师争议发声,对林诗栋不礼貌

三十年莱斯特城球迷
2025-11-16 23:10:28
文化工作者要有文化:《澎湖海战》用“东宁”指代明郑,是否妥当

文化工作者要有文化:《澎湖海战》用“东宁”指代明郑,是否妥当

黄娜老师
2025-11-16 11:24:31
乌国防情报局奔袭6500公里,炸毁俄罗斯西伯利亚铁路导致运输中断

乌国防情报局奔袭6500公里,炸毁俄罗斯西伯利亚铁路导致运输中断

山河路口
2025-11-15 15:35:03
无创植入大脑芯片或能成为现实

无创植入大脑芯片或能成为现实

澎湃新闻
2025-11-17 08:30:27
曾某真不简单,前夫比她大12岁,现在的她没有行政职务,只做手术

曾某真不简单,前夫比她大12岁,现在的她没有行政职务,只做手术

魔都姐姐杂谈
2025-11-16 17:25:22
上海今日气温一路下探,下班时段不足10℃

上海今日气温一路下探,下班时段不足10℃

鲁中晨报
2025-11-17 07:01:01
49岁阿姨结识53岁大叔,搭伙后相约四川旅游,2天后向女儿哭诉

49岁阿姨结识53岁大叔,搭伙后相约四川旅游,2天后向女儿哭诉

诡谲怪谈
2025-04-16 13:55:48
善恶终有报!连娶三徒弟,毁掉奥运冠军前途的金炜,终究难逃"反噬"

善恶终有报!连娶三徒弟,毁掉奥运冠军前途的金炜,终究难逃"反噬"

小熊侃史
2025-11-14 00:05:51
海南乒坛首枚奖牌!林诗栋直言超开心 仅1教练1队医靠化缘入决赛

海南乒坛首枚奖牌!林诗栋直言超开心 仅1教练1队医靠化缘入决赛

颜小白的篮球梦
2025-11-16 20:03:44
吴建豪谈F4:真正让我们分道扬镳的,不是泄密,是嫉妒

吴建豪谈F4:真正让我们分道扬镳的,不是泄密,是嫉妒

不八卦掌门人
2025-11-15 16:53:06
威廉王子与凯特·米德尔顿炫耀2000万美元新家,快来看看!

威廉王子与凯特·米德尔顿炫耀2000万美元新家,快来看看!

生活魔术专家
2025-11-17 02:19:57
2025-11-17 10:24:49
建邺区生态科技岛人工智能商会
建邺区生态科技岛人工智能商会
南京市建邺区生态科技岛人工智能行业商会
196文章数 0关注度
往期回顾 全部

科技要闻

营销话术反噬信任,雷军不该只是一怒了之

头条要闻

上海业主花700万买精装修新房 刚到手就遇到糟心问题

头条要闻

上海业主花700万买精装修新房 刚到手就遇到糟心问题

体育要闻

3年没踢球,他想完成“史上最难”的复出

娱乐要闻

CEO爆料肖战《藏海传》狂赚几十亿!

财经要闻

6666元包教包会!"杀人蜂"养殖已成灰产

汽车要闻

"冰彩沙"全配齐 红旗HS6 PHEV预售17.88万起

态度原创

教育
健康
旅游
艺术
军事航空

教育要闻

选科只看兴趣?大错特错!3个“隐藏规则”决定孩子未来专业选择权!

血液科专家揭秘白血病七大误区

旅游要闻

2025安徽入境旅游大会举行 “百万入境游客游安徽”启动

艺术要闻

只需一眼,你能认出这神秘字吗?278人都失败了!

军事要闻

海军四川舰顺利完成首次航行试验

无障碍浏览 进入关怀版