0

PHPでネストされたforループを作成しようとしていますが、コードは何千ものリターンを生成しています。

私がやろうとしているのは、rssフィード(配列内の2つ)を読み取り、フィード内の投稿をデータベースにあるものと比較することです。投稿の新しいタイトルが私のデータベースのタイトルと同じでない場合、それは私のデータベースに追加されます。

たくさんのコードを削除するつもりはありませんが、PHPでネストされたforループを作成したことはなく、これが可能かどうかさえわかりません。

$url_feeds = array('0' => array('user_id' => '1','feed' => 'http://feeds.abcnews.com/abcnews/topstories'),
                   '1' => array('user_id' => '2','feed' => 'http://feeds.reuters.com/reuters/MostRead'));


    for($i=0;$i<sizeof($url_feeds);$i++){
            $user_id = $url_feeds[$i]['user_id'];
                    // echo $user_id;
            $feed = $url_feeds[$i]['feed'];
                    //echo $feed;

            $abc =$this->get_rss_feeds($feed); //This returns an array of all RSS feed posts.
                    //print_r($abc); 
            $post = new post_model();

                    //print_r($res);

        for($i=0;$i<sizeof($abc);$i++)

          { 
                 $link = $abc[$i]['link'];
                 $title = $abc[$i]['title'];
       // echo $title;
                 $date_published = $abc[$i]['pubDate'];
    $res = $post->get_new_user_posts($user_id); // This returns an array of posts in my database (It's sent user_id meaning, the id of the feed see top above array)
                     foreach ($res as $key => $value)
                        {
                        $new_title = $value->title;
        // echo $new_title;
         //echo $title;
                        $new_link = $value->link;
                                 if ($title != $new_title)
                                        {
                                        // echo 'NOT A MATCH'.$i;
                                        $update_new_user_posts = $post->post_to_new_user_posts($user_id,$link,$title,$date_published);
                                        }
                        }
            }
    }
4

1 に答える 1

1

両方のループで同じ変数$iを使用しています。通常、これは正しくなく、制御されていない動作になります。

于 2012-09-15T22:27:35.373 に答える