Foreach语句打印出不正确的格式

时间:2015-02-04 23:27:25

标签: php arrays foreach

首先,我在变量$ 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语句中使用了这两个,所以我应该如何包围它?

提前非常感谢!

2 个答案:

答案 0 :(得分:1)

那么,你的回声中会错过一点标记吗?这应该可以解决问题:

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;
}

答案 1 :(得分:-1)

你的数组应该是这样的。

$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>';}