我很难弄清楚如何管理我的循环以在过程中不覆盖变量,我的示例脚本看起来如下:
$targets = array(
array(
'site_id' => 1,
'url' => array('http://example.com','http://test.com'),
'title' => "Title_1",
'int_link' => "/internal_link/",
'icon' => '/icon_2.gif',
'teaser_index' => 5),
array(
'site_id' => 2,
'url' => array('http://example2.com','http://test2.com'),
'title' => "Title_2",
'int_link' => "/internal_link/",
'icon' => '/icon_2.gif',
'teaser_index' => 5)
)
foreach($targets as $target){
$images = array();
$links = array();
$name = array();
$loop=-1;
foreach($target['url'] as $url){
$loop++;
//parsing $url;
//the insider loop has 2 iterations
if ($loop=1){
$content .="<div>".$target['title'].$url"</div>";
}
else{
$content .="<div>".$target['title'].$url"</div>";
}
}
//write $content html to database, without to override the first $content
}
答案 0 :(得分:1)
你的问题不明确,但我想我明白可能存在的问题
脚本中有很多错误需要修复,也许你的脚本会以你想要的方式运行。
一个。 $content
未定义..您需要定义它
B中。 if ($loop=1){
应为if ($loop == 1){
℃。 $content .="<div>".$target['title'].$url"</div>";
遗失.
,应该是$content .= "<div>" . $target['title'] . $url . "</div>";
d。如果条件没有意义,因为您输出相同的信息
形成我可以看到你要输出的标题&amp;您也可以使用这个简单的脚本(只是猜测)
$targets = array(
array(
'site_id' => 1,
'url' => array('http://example.com','http://test.com'),
'title' => "Title_1",
'int_link' => "/internal_link/",
'icon' => '/icon_2.gif',
'teaser_index' => 5),
array(
'site_id' => 2,
'url' => array('http://example2.com','http://test2.com'),
'title' => "Title_2",
'int_link' => "/internal_link/",
'icon' => '/icon_2.gif',
'teaser_index' => 5)
);
foreach ( $targets as $target ) {
$content = "";
$output = "<div> %s : %s </div>";
$content .= sprintf($output, $target['title'], implode(" , ",$target['url']));
echo $content;
// write $content html to database, without to override the first $content
}
输出
Title_1 : http://example.com , http://test.com
Title_2 : http://example2.com , http://test2.com