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

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.

相关推荐
热点推荐
0-3惨遭横扫!没想到向鹏这样评价张本智和:心态崩了,实力差距

0-3惨遭横扫!没想到向鹏这样评价张本智和:心态崩了,实力差距

胡一舸南游y
2026-01-09 14:00:47
陪玩陪睡已过时!拳头塞嘴、集体开嫖、戚薇遭殃,阴暗面彻底曝光

陪玩陪睡已过时!拳头塞嘴、集体开嫖、戚薇遭殃,阴暗面彻底曝光

涵豆说娱
2025-11-20 16:35:46
高峰也没想到,他当年抛弃的儿子,如今开始给那英争光了

高峰也没想到,他当年抛弃的儿子,如今开始给那英争光了

趣文说娱
2026-01-04 16:34:24
活塞传奇:不理解现在的人对詹姆斯不屑一顾,反而在追捧乔丹

活塞传奇:不理解现在的人对詹姆斯不屑一顾,反而在追捧乔丹

懂球帝
2026-01-09 07:45:44
美军绑架马杜罗后,美台都担忧大陆效仿,国台办回应

美军绑架马杜罗后,美台都担忧大陆效仿,国台办回应

Ck的蜜糖
2026-01-08 17:03:51
被垫脚了!伦纳德再次受伤,快船欲哭无泪

被垫脚了!伦纳德再次受伤,快船欲哭无泪

德译洋洋
2026-01-09 15:10:09
刚刚!中北宜家恢复营业!1月15日起双门店低至5折清仓!今日餐厅关闭,营业时间有变···

刚刚!中北宜家恢复营业!1月15日起双门店低至5折清仓!今日餐厅关闭,营业时间有变···

天津人
2026-01-09 11:37:58
广州小学生被抽血事件:告诉爸妈就扣小红花

广州小学生被抽血事件:告诉爸妈就扣小红花

每日一见
2026-01-02 12:21:28
黑网:矛盾之下的清晰

黑网:矛盾之下的清晰

疾跑的小蜗牛
2026-01-08 18:46:41
杨利伟“成名”背后:妻子做出巨大牺牲,女儿已离世

杨利伟“成名”背后:妻子做出巨大牺牲,女儿已离世

老特有话说
2025-12-14 17:53:35
现货白银跌5.03%,现货黄金跌0.71%

现货白银跌5.03%,现货黄金跌0.71%

每日经济新闻
2026-01-08 21:59:20
赵今麦泳装展好身材,小麦肤色尽显青春活力

赵今麦泳装展好身材,小麦肤色尽显青春活力

原梦叁生
2026-01-06 16:04:42
补强!曝海港将引进茹萨替身,穆斯卡特钦点加盟,先租后买划算

补强!曝海港将引进茹萨替身,穆斯卡特钦点加盟,先租后买划算

体坛鉴春秋
2026-01-09 12:18:39
这一次,再多名和利也救不了“嚣张忘本、狂妄自大”的闫学晶

这一次,再多名和利也救不了“嚣张忘本、狂妄自大”的闫学晶

青史楼兰
2026-01-09 09:22:24
2026年1月1日刚过,不少人去医院开药就发现规矩变了

2026年1月1日刚过,不少人去医院开药就发现规矩变了

百态人间
2026-01-06 05:00:03
天呀,杜海涛竟然现成这样了,沈梦辰对他是真爱啊

天呀,杜海涛竟然现成这样了,沈梦辰对他是真爱啊

草莓解说体育
2026-01-07 01:43:18
总裁漏发我 9 万福利,我沉默一天,卖掉 4% 股份套现 2.5 亿

总裁漏发我 9 万福利,我沉默一天,卖掉 4% 股份套现 2.5 亿

磊子讲史
2026-01-05 17:16:02
6-3!登贝莱建功,门将一战封神,点球复仇马赛,大巴黎赛季首冠

6-3!登贝莱建功,门将一战封神,点球复仇马赛,大巴黎赛季首冠

我的护球最独特
2026-01-09 04:09:12
太会整活儿了!深圳地铁一标语火了

太会整活儿了!深圳地铁一标语火了

深圳晚报
2026-01-08 22:26:55
1-2!利雅得胜利崩盘 从10连胜到3轮不胜 距榜首4分 40岁C罗点射

1-2!利雅得胜利崩盘 从10连胜到3轮不胜 距榜首4分 40岁C罗点射

我爱英超
2026-01-09 06:05:26
2026-01-09 16:27:00
建邺区生态科技岛人工智能商会
建邺区生态科技岛人工智能商会
南京市建邺区生态科技岛人工智能行业商会
243文章数 0关注度
往期回顾 全部

科技要闻

市场偏爱MiniMax:开盘涨42%,市值超700亿

头条要闻

"老板"拉群开口就要150万 女财务付100万后感觉天塌了

头条要闻

"老板"拉群开口就要150万 女财务付100万后感觉天塌了

体育要闻

金元时代最后的外援,来中国8年了

娱乐要闻

檀健次恋爱风波越演越烈 上学经历被扒

财经要闻

郁亮的万科35年:从"宝万之争"到"活下去"

汽车要闻

英伟达的野心:做一套自动驾驶的“安卓系统”

态度原创

本地
艺术
房产
公开课
军事航空

本地新闻

云游内蒙|“包”你再来?一座在硬核里酿出诗意的城

艺术要闻

Sean Yoro:街头艺术界的“冲浪高手”

房产要闻

豪宅抢疯、刚需捡漏……2025年,一张房票改写了广州市场格局

公开课

李玫瑾:为什么性格比能力更重要?

军事要闻

特朗普:已开始从委石油资源中赚钱

无障碍浏览 进入关怀版