用php根据数组更新html页面

Posted

技术标签:

【中文标题】用php根据数组更新html页面【英文标题】:Updating an html page according to an array with php 【发布时间】:2019-05-04 14:41:14 【问题描述】:

我正在构建一个网页,其中数据将根据外部 php 数组进行更新。 这些数组中的单词应在“容器”div 下的 4 个不同 div 块内打印为 h1 标签。

我的问题是,我如何从 PHP 中获取这些数据并在 html DOM 中的不同类中打印它,而无需通过分别调用它们的类名来为每个 div 重复 PHP 代码..

php 数组:

<?php
$wrds=array("Home", "Buy", "Contact", "About");
?>

HTML代码:

<div class="container">
      <div class="grid-item blue"></div>
      <div class="grid-item red"></div>
      <div class="grid-item orange"></div>
      <div class="grid-item green"></div>
</div>

【问题讨论】:

“在每个 div 中不重复 php 代码”是什么意思? 你使用了循环。顺便说一句,您的“php 数组”不是 php 数组。 什么时候执行php文件?您是使用 ajax 获取数组还是在 HTML 之前运行文件?如果在 HTML 之前运行它,那么您只需将 HTML 文档更改为 php 文件并在您的 HTML 中写入一些 php 并根据您的数组更改您想要的任何内容,如果通过 ajax 执行此操作,我会从 HTML 中回显一个 json 并更新带有返回 json 的 HTML DOM。 '; 正如@kerbholz 提到的 谢谢@kerbholz 我错过了“数组”。 对不起 【参考方案1】:

您也可以将颜色放入一个数组中,这会产生以下列表代码:

<?php
$wrds=array("Home", "Buy", "Contact", "About");
$colors=array("blue", "red", "orange", "green");

echo '<div class="container">';

$length = count($wrds);
for($i=0; $i<$length; ++$i) 
    $color = $colors[$i];
    $wrd = $wrds[$i];
    echo "\t".'<div class="grid-item '.$color.'">'.$wrd.'</div>';


echo '</div>';
?>

for($i=0; $i&lt;$length; ++$i) 是一个 for 循环。 for 有三个表达式作为“参数”。第一个表达式将$i 设置为零,第三个表达式在循环的每次重复中将$i 增加一个。第二个表达式被评估为逻辑值。当第二个表达式为真时,循环正在重复。总体效果是在$length 的值以下从零计数到一,并针对$i 的每个值在.. 之间执行循环体。

【讨论】:

谢谢@Adder,但你能解释一下'for($i=0; $i 解释了 for 循环

以上是关于用php根据数组更新html页面的主要内容,如果未能解决你的问题,请参考以下文章

用HTML+CSS+JS设计三个页面

从 PHP 查询中获取 JSON 数组后,使用 javascript 将 JSON 数组写入 html 页面

如何在不刷新整个页面的情况下更新 HTML 文档中的 php 变量?

PHP与Ajax的交互更新页面

如何通过php的curl模拟ajax请求,获取其返回值

大型 HTML 显示空白页面(WSOD - 白屏死机) - PHP