-1

我很难弄清楚如何管理我的循环以在此过程中不覆盖变量,我的示例脚本如下所示

$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 
}
4

1 回答 1

1

你的问题不清楚,但我想我明白可能的问题是什么

脚本中有很多错误需要您修复,也许您的脚本会按照您希望的方式运行。

A.$content没有定义 .. 你需要定义它

B.if ($loop=1){应该if ($loop == 1){

C.$content .="<div>".$target['title'].$url"</div>";丢失.了,应该是这样的$content .= "<div>" . $target['title'] . $url . "</div>";

D. 你 if 条件没有意义,因为你输出的是相同的信息

形成我能看到的你想要输出的标题和 URL 你也可以使用这个简单的脚本(只是猜测)

$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
于 2012-08-18T14:11:04.177 回答