CodeIgniter视图里数组怎么循环输出

小强小哥_1976

小强小哥_1976

2026-09-05

682人浏览

原创

codeigniter视图中直接用原生foreach循环输出数组,需检查变量是否存在、使用html_escape()防xss,关联数组要写$key=>$value,空数组需提供默认值避免警告。

codeigniter视图里数组怎么循环输出

CodeIgniter 视图里用 foreach 循环输出数组最直接

CodeIgniter 的视图(.php 文件)本质就是 PHP 模板,不额外封装循环语法 —— 别找 loopeach 这类伪标签,直接写原生 foreach 就行。CI 并未重写 PHP 的语法逻辑,传进来的数组跟在普通 PHP 脚本里一样可用。

常见错误是试图用 CI 控制器里的写法(比如 $this->load->view('xxx', $data) 之后,在视图里还想着调用某个 CI 方法来遍历,结果报 Call to undefined function

  • 控制器中传递数组:$data['users'] = ['Alice', 'Bob', 'Charlie']; $this->load->view('user_list', $data);
  • 视图中正确写法:
    <?php foreach ($users as $name): ?><p><?php echo htmlspecialchars($name); ?></p><div class="aritcle_card flexRow artxards">
    											<div class="artcardd flexRow">
    												<a class="aritcle_card_img" rel="nofollow" href="/xiazai/gongju/2515" title="CodeIgniter 4.7.0"><img
    														src="https://img.php.cn/upload/manual/001/503/042/6a6b043218cde750.png" alt="CodeIgniter 4.7.0" onerror="this.onerror='';this.src='/static/lhimages/moren/morentu.png'" ></a>
    												<div class="aritcle_card_info flexColumn">
    													<a rel="nofollow" href="/xiazai/gongju/2515" title="CodeIgniter 4.7.0" class="overflowclass">CodeIgniter 4.7.0</a>
    													<p class="overflowclass">CodeIgniter下载页提供 CodeIgniter 4.7.0 官方源码包,并整理框架安装、数据库配置与入门开发说明。</p>
    												</div>
    												<a rel="nofollow" href="/xiazai/gongju/2515" title="CodeIgniter 4.7.0" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span>
    												</a>
    											</div>
    										</div>
    <?php endforeach; ?>
  • 注意:必须用 htmlspecialchars()html_escape()(CI 内置函数)防 XSS,尤其当数组内容来自用户输入

关联数组循环时记得用 $key => $value 语法

如果传的是键值对(比如数据库查询结果 result_array() 返回的二维数组),漏掉 $key => 会导致只拿到值、丢掉字段名,后续无法按列访问。

  • 错误写法(只取值,丢失键):foreach ($rows as $row) { echo $row['name']; } —— 实际上 $row 是一维数组,但没声明 $key => $value 会让 PHP 解析出错或报 Undefined index
  • 正确写法:
    <?php foreach ($users as $user): ?><div>姓名:<?php echo html_escape($user['name']); ?>
    </div>
      <div>邮箱:<?php echo html_escape($user['email']); ?>
    </div>
    <?php endforeach; ?>
  • 如果需要索引序号,用 foreach ($array as $i => $item)$i 是自动递增的数字键(即使原数组是字符串键也会被重映射)

空数组或未定义变量会触发 Invalid argument supplied for foreach()

这是视图中最常遇到的警告。CI 不会帮你判断变量是否存在或是否为数组,全靠你手动防御。

  • 必须检查:<?php if (is_array($items) && !empty($items)): ?> ... <?php endif; ?>
  • 更简洁写法(PHP 7+):<?php foreach (($items ?? []) as $item): ?> —— ?? 提供默认空数组,避免警告
  • 别依赖控制器“一定传了”,尤其在 AJAX 分页、搜索无结果等分支场景下,$data['list'] 可能根本没设,或设成了 null
  • 调试技巧:在视图开头加 <?php var_dump($users); exit; ?> 快速确认结构和类型

性能上不用怕嵌套循环,但别在视图里做数据处理

视图层只负责展示,所有过滤、排序、分页计算都应在控制器或模型完成。有人习惯在视图里 array_filter()usort(),这会让逻辑散落、难以测试,也容易因作用域问题出错。

  • 正确分工:控制器查出全部数据 → 按需筛选/重组 → 传给视图纯展示数组
  • 例如分页:不要在视图里用 array_slice($all, $offset, $limit),而应在模型里用 limit()offset()
  • 复杂格式化(如时间戳转中文日期)建议封装成辅助函数或视图助手,而不是在 foreach 块里反复写 date('Y-m-d', $row['created_at'])
视图里数组循环本身很简单,真正容易出问题的是边界情况:变量未定义、类型不对、XSS 风险、逻辑侵入 —— 这些比语法本身更值得花时间检查。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

codeigniter

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
php中foreach用法
php中foreach用法

本专题整合了php中foreach用法的相关介绍,阅读专题下面的文章了解更多详细教程。

2025.12.04

698

13

PHP CodeIgniter框架
PHP CodeIgniter框架

本专题专注于 PHP 轻量级框架 CodeIgniter 的学习与应用,系统讲解 MVC 模型、路由与控制器、数据库操作、表单验证、安全机制以及 REST API 开发。通过博客系统、内容管理平台和小型电商等实战项目,帮助学员快速掌握 CodeIgniter 的开发方法与实践技能。

2025.08.28

3259

16

NumPy性能优化版本更新与常见报错排查
NumPy性能优化版本更新与常见报错排查

本专题整理 NumPy 性能优化、版本更新与常见报错排查相关教程,覆盖向量化计算、广播性能、内存布局、NumPy 2.0 升级、版本兼容冲突、安装导入报错、dtype 溢出、矩阵运算异常和 broadcasting 报错修复,帮助读者系统掌握 NumPy 性能调优与问题定位方法。

2026.09.22

0

25

Vibeknow在线使用入口合集
Vibeknow在线使用入口合集

本专题汇总了Vibeknow在线创作视频的官方入口及网页版使用教程,涵盖PPT、PDF、Word等文档一键转讲解视频的核心操作,并整理了免费版水印规则与手机端浏览器访问指南,助你快速将知识内容视频化。

2026.09.21

20

20

NumPy随机数文件读写与dtype数据类型
NumPy随机数文件读写与dtype数据类型

本专题整理 NumPy 随机数、文件读写与 dtype 数据类型相关教程,覆盖 Generator/random、随机数种子、正态分布采样、npy/npz/CSV/TXT 保存读取、loadtxt/savetxt、memmap、大文件处理、astype 类型转换、结构化 dtype、整数溢出和精度丢失等场景。

2026.09.21

20

24

NumPy矩阵运算与线性代数计算
NumPy矩阵运算与线性代数计算

本专题整理 NumPy 矩阵运算与线性代数计算相关教程,覆盖矩阵乘法、dot 与 @ 运算符、逆矩阵、行列式、特征值与特征向量、SVD、线性方程组、欧氏距离、矩阵分解和大规模矩阵性能优化等内容,帮助读者掌握 np.linalg 与矩阵计算实战。

2026.09.21

0

20

NumPy广播机制数学运算与统计分析
NumPy广播机制数学运算与统计分析

本专题整理 NumPy 广播机制、数组数学运算与统计分析相关教程,覆盖广播规则、维度对齐、矩阵与数组加减除法、向量化计算、均值方差、分位数、中位数、直方图和 unique 频次统计等场景,帮助读者掌握 ndarray 高效计算与统计处理方法。

2026.09.21

0

17

NumPy数组创建索引切片与数据选择
NumPy数组创建索引切片与数据选择

本专题整理 NumPy 数组创建、索引、切片与数据选择相关教程,覆盖 np.array、zeros/ones、多维数组形状、基础切片、花式索引、布尔索引、条件筛选、视图与副本等常用场景,帮助读者系统掌握 ndarray 数据构造与高效提取方法。

2026.09.21

0

12

Aionclaw智能助手介绍
Aionclaw智能助手介绍

本专题汇总了AionClaw(AI龙虾助手)的功能介绍与在线使用入口。AionClaw是杭州趣猿人工智能有限公司推出的桌面级AI智能体,能直接在电脑上读写文件、运行脚本、操作浏览器,自动交付Word、PPT、Excel等成品。

2026.09.20

40

13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程