PHPforeach动态渲染文章标题与内容
时间:2026-01-20 19:01:27 264浏览 收藏
本篇文章主要是结合我之前面试的各种经历和实战开发中遇到的问题解决经验整理的,希望这篇《PHP foreach 循环动态渲染文章标题与内容》对你有很大帮助!欢迎收藏,分享给更多的需要的朋友学习~

本文讲解如何正确使用 PHP 的 foreach 循环遍历多维数组,将每篇文章的 title、description 和 link 动态插入 HTML 模板中,避免重复输出静态变量的问题。
在 PHP 中,若想为数组中的每一项生成独立的 HTML 结构(如卡片式文章展示),关键在于:不能预先拼接含固定变量的字符串模板,而应在循环体内实时提取当前项的数据并插入对应位置。
你当前代码的问题在于:
- $str 是在循环外定义的,其中的 $title 是一个固定字符串('Paragraph of text'),与 $articles 数组无关;
- foreach 中仅重复 echo $str,自然每次都输出相同内容;
- 错误地写了 $var['title'](应为 $v['title']),且未在循环内更新 $str 或直接内联输出。
✅ 正确做法是:在 foreach 循环内部,针对每个 $v(即当前文章数组)提取其字段,并直接嵌入 HTML 输出中。推荐使用“内联输出”方式,清晰、安全、易维护:
<?php
$articles = [
[
"title" => "Featured title 1",
"description" => "Paragraph of text beneath the heading to explain the heading. We'll add onto it with another sentence and probably just keep going until we run out of words.",
"link" => "page1.php",
],
[
"title" => "Featured title 2",
"description" => "Another compelling summary with key details.",
"link" => "page2.php",
],
[
"title" => "Featured title 3",
"description" => "A concise yet informative description for the third feature.",
"link" => "page3.php",
],
];
// 使用 foreach 动态渲染每张卡片
foreach ($articles as $article) {
echo '<div class="feature col">';
echo ' <div class="feature-icon bg-primary bg-gradient">';
echo ' <svg class="bi" width="1em" height="1em"><use xlink:href="#collection"></use></svg>';
echo ' </div>';
echo ' <h2>' . htmlspecialchars($article['title']) . '</h2>';
echo ' <p>' . htmlspecialchars($article['description']) . '</p>';
echo ' <a href="' . htmlspecialchars($article['link']) . '" class="icon-link">';
echo ' Call to action';
echo ' <svg class="bi" width="1em" height="1em"><use xlink:href="#chevron-right"></use></svg>';
echo ' </a>';
echo '</div>';
}
?>? 关键要点说明:
- ✅ 使用 $article['title'] 等语法从当前循环项中取值,确保每次输出真实数据;
- ✅ 推荐直接 echo HTML 片段(而非拼接大字符串),提升可读性与调试效率;
- ✅ 务必对输出到 HTML 的变量使用 htmlspecialchars() 进行转义,防止 XSS 漏洞(尤其当内容来自用户或不可信来源时);
- ❌ 避免在循环外构建含变量的 $str 字符串——PHP 不支持模板字符串自动绑定,变量不会“动态重解析”。
? 扩展建议:若结构复杂或需复用,可封装为函数或采用 sprintf() / 输出缓冲(ob_start())等更工程化方式,但对三张卡片这类简单场景,内联 foreach + echo 是最直观、可靠的选择。
文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《PHPforeach动态渲染文章标题与内容》文章吧,也可关注golang学习网公众号了解相关技术文章。
相关阅读
更多>
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
最新阅读
更多>
-
411 收藏
-
203 收藏
-
390 收藏
-
402 收藏
-
217 收藏
-
152 收藏
-
395 收藏
-
252 收藏
-
297 收藏
-
217 收藏
-
167 收藏
-
430 收藏
课程推荐
更多>
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习