0

これはmycodeです

foreach($html->find('ul.listings li a') as $tvshow)
    $tvshows=preg_replace('/<span[^>]*>([\s\S]*?)<\/span[^>]*>/', '', $tvshow->innertext);
foreach($html->find('li a span.epnum') as $e)

    $query=mysql_query("insert into tvshow(count,author,tvshowname,imdblink,tvshowlink,description,year,image,imagetype,website,date,rating) 
              values('$count','$author','$tvshows','$imdblink','$tvshow->href','$tvshowdescription','$e->innertext','$tvshowname','$tvshowtype','$website','$date','$rating')");
    if(!$query)
    {
        die(mysql_error());
    }

ここで$tvshows、$ tvshow-> hrefが繰り返されています、私はそれらを繰り返させたくありません。コードがすべて正しいことを心配する必要はありません。2つのforeachステートメントを使用するだけで繰り返しが発生します。Plsを使用すると、コードが繰り返されなくなります。

4

1 に答える 1

2

中括弧の力...

foreach($html->find('ul.listings li a') as $tvshow) {
    $tvshows=preg_replace('/<span[^>]*>([\s\S]*?)<\/span[^>]*>/', '', $tvshow->innertext);

    foreach($html->find('li a span.epnum') as $e) {

        $query=mysql_query("insert into tvshow(count,author,tvshowname,imdblink,tvshowlink,description,year,image,imagetype,website,date,rating) 
                  values('$count','$author','$tvshows','$imdblink','$tvshow->href','$tvshowdescription','$e->innertext','$tvshowname','$tvshowtype','$website','$date','$rating')");
        if(!$query)
        {
            die(mysql_error());
        }
    }
}

foreach が入れ子になっていないのは、必要なように中かっこで囲んでいないためだと思います。

それらを記述した方法では、完全に別個のループとして解釈されます。

ループ 1:

foreach($html->find('ul.listings li a') as $tvshow) 
    $tvshows=preg_replace('/<span[^>]*>([\s\S]*?)<\/span[^>]*>/', '', $tvshow->innertext);

ループ 2:

    foreach($html->find('li a span.epnum') as $e) 

        $query=mysql_query("insert into tvshow(count,author,tvshowname,imdblink,tvshowlink,description,year,image,imagetype,website,date,rating) 
                  values('$count','$author','$tvshows','$imdblink','$tvshow->href','$tvshowdescription','$e->innertext','$tvshowname','$tvshowtype','$website','$date','$rating')");
        if(!$query)
        {
            die(mysql_error());
        }

わかる?

于 2012-09-27T19:57:00.777 に答える