Foreach 语句打印格式不正确

Foreach Statement Printing Out Incorrect Format

首先,我在变量 $magazine_issue_pages 中存储了一个数组,如果您打印该数组,则会显示以下内容。

Array ( [0] => http://104.131.209.93/wp-content/uploads/2015/02/1.jpg [1] => http://104.131.209.93/wp-content/uploads/2015/02/2.jpg [2] => http://104.131.209.93/wp-content/uploads/2015/02/3.jpg [3] => http://104.131.209.93/wp-content/uploads/2015/02/4.jpg [4] => http://104.131.209.93/wp-content/uploads/2015/02/back.jpg ) 1

所以变量确实正确地存储了数组。但是,当我将它放入我的 foreach 语句中时,它是不正确的。

这是我的 PHP foreach 语句

foreach ($magazine_issue_pages as $magazine_issue_page) {
    echo '<div style="background:url('.$magazine_issue_page.')"';
}

正在HTML

中打印以下内容
<div div="" <="" <div="" style="background:url(http://104.131.209.93/wp-content/uploads/2015/02/1.jpg)"></div>

显然这不是我要找的哈...

寻找更多类似的东西

    <div style='background:url("http://104.131.209.93/wp-content/uploads/2015/02/1.jpg")'></div>
    <div style='background:url("http://104.131.209.93/wp-content/uploads/2015/02/2.jpg")'></div>
    <div style='background:url("http://104.131.209.93/wp-content/uploads/2015/02/3.jpg")'></div>
    <div style='background:url("http://104.131.209.93/wp-content/uploads/2015/02/4.jpg")'></div>
    <div style='background:url("http://104.131.209.93/wp-content/uploads/2015/02/back.jpg")'></div>

另外,当我在我的 foreach 语句中写下我的 echo 时,我有点不知所措。因为我需要将 url 包围在 " 或 ' 中,但是我已经在 echo 语句中使用了这两个,所以我应该如何包围它?

非常感谢!

好吧,您确实错过了 echo 中的一些标记?这应该可以解决问题:

foreach ($magazine_issue_pages as $magazine_issue_page) {
    echo '    <div style="background:url(\'' . $magazine_issue_page . '\')"></div>' . PHP_EOL;
}

另一种可能更容易发现缺失内容的方法是使用模板,如下所示:

$template = '    <div style="background:url(\'{{url}}\')"></div>';
foreach ($magazine_issue_pages as $magazine_issue_page) {
    echo str_replace('{{url}}', $magazine_issue_page, $template) . PHP_EOL;
}

您的数组应如下所示。

$magazine_issue_pages = array('http://104.131.209.93/wp-content/uploads/2015/02/1.jpg','http://104.131.209.93/wp-content/uploads/2015/02/2.jpg','http://104.131.209.93/wp-content/uploads/2015/02/3.jpg','http://104.131.209.93/wp-content/uploads/2015/02/4.jpg','http://104.131.209.93/wp-content/uploads/2015/02/back.jpg');

然后试试这个。

foreach ($magazine_issue_pages as $magazine_issue_page) {
echo '<div style="background:url(\''.$magazine_issue_page.'\')"></div>';}