2015-02-04 38 views
0

首先我将一个数组存储在变量$ magazine_issue_pages中,如果打印数组显示如下。Foreach语句打印出不正确的格式

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 

所以变量definitly正确地存储数组。但是,当我把它放在我的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语句中写回我的回声时,我略微不知所措。至于我需要的URL包围“或者”但是我已经有这两个回波语句中使用,这样我怎么包围呢?

巨大预先感谢!

+0

使用反斜杠 – billyonecan

+0

那逃跑的报价......其打印不是它的印刷实际上是:''

**因为你缺少右括号和整个关闭标签,你说什么它的印刷是实际工作中如何其得到解析。 – prodigitalson

+0

http://php.net/printf是你的朋友 –

回答

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

感谢这工作,我喜欢你的第二个解决方案! – kevingilbert100

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