简体   繁体   English

php 回显循环,无法回显定义中的存储值

[英]php echo loop, unable to echo stored value in define

The following code displays the news article date, title/header, and article.以下代码显示新闻文章日期、标题/标题和文章。

<h2><?php echo(LATEST_NEWS_ARTICLE_DATE_10);?>&nbsp;&nbsp;&nbsp;
<?php echo(LATEST_NEWS_ARTICLE_HEADER_10);?></h2>
<p><?php echo(LATEST_NEWS_ARTICLE_10);?>

....articles 9 through to 2..... ....第 9 条至第 2 条.....

<h2><?php echo(LATEST_NEWS_ARTICLE_DATE_1);?>&nbsp;&nbsp;&nbsp;
<?php echo(LATEST_NEWS_ARTICLE_HEADER_1);?></h2>
<p><?php echo(LATEST_NEWS_ARTICLE_1);?>

displays:-显示:-

article 10:-第 10 条:-

31st March 2021 PHP Loop still issues 2021 年 3 月 31 日 PHP 循环仍然存在问题

Whats going on with this loop still这个循环发生了什么

....articles 9 to 2.... ....第 9 至第 2 条....

article 1:- 31st March 2020 PHP Loop文章 1:- 2020 年 3 月 31 日 PHP 循环

Whats going on with this loop这个循环发生了什么

but rather than type the code out for each article (eventually 20 articles per page, multi pages), thought I would use a loop.但不是为每篇文章输入代码(最终每页 20 篇文章,多页),我想我会使用循环。

<?php
for ($x = 10; $x > 0; $x--) {
echo (LATEST_NEWS_ARTICLE_DATE_.$x)."&nbsp;&nbsp;&nbsp;&nbsp;";
echo (LATEST_NEWS_ARTICLE_HEADER_.$x)."<br>";
echo (LATEST_NEWS_ARTICLE_.$x)."<br><br>";
}
?>

This should display the latest article 10, to the oldest article 1, but instead it displays这应该显示最新的文章 10,最旧的文章 1,但它显示

LATEST_NEWS_ARTICLE_DATE_10 LATEST_NEWS_ARTICLE_HEADER_10 LATEST_NEWS_ARTICLE_10 LATEST_NEWS_ARTICLE_DATE_10 LATEST_NEWS_ARTICLE_HEADER_10 LATEST_NEWS_ARTICLE_10

.....articles 9 through to 2..... ......第 9 条至第 2 条......

LATEST_NEWS_ARTICLE_DATE_1 LATEST_NEWS_ARTICLE_HEADER_1 LATEST_NEWS_ARTICLE_1 LATEST_NEWS_ARTICLE_DATE_1 LATEST_NEWS_ARTICLE_HEADER_1 LATEST_NEWS_ARTICLE_1

I must be missing something as its so close.我一定错过了一些东西,因为它是如此接近。 Any help including tutorials to try would be appreciated, I haven't been able to find something yet.任何帮助,包括尝试教程,将不胜感激,我还没有找到一些东西。

This won't work the way you expect it to work - PHP will always evaluate your construct to the value of a constant named LATEST_NEWS_ARTICLE_ plus the value of the variable $x .这不会像您期望的那样工作 - PHP 将始终将您的构造评估为名为LATEST_NEWS_ARTICLE_的常量的值加上变量$x的值。

You're on the right track using a loop to iterate over a data set, though, but to store the data, you should definitely use a variable, not a constant (cf. DEFINE vs Variable in PHP ).不过,您在使用循环迭代数据集时走在正确的轨道上,但是要存储数据,您绝对应该使用变量,而不是常量(参见PHP 中的 DEFINE 与变量)。

The most obvious choice would be an array, eg:最明显的选择是数组,例如:

$latest_articles = [

    ['date' => '...', 'header' => '...', 'body' => '...'],
    ['date' => '...', 'header' => '...', 'body' => '...']
];

Later in your code, you could simply loop over it with foreach :稍后在您的代码中,您可以简单地使用foreach循环它:

foreach ($latest_articles as $article) {

    echo($article['date']);
    echo($article['header']);
    ...    
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM