Daha iyi bir kodu alma?

0 Cevap php

Ben belirli bir etiket şeydir bir haber besleme son 2 başlık girdilerini listelemek niyetinde.

GetCategories () ve GetValues ​​() yöntemlerini çalıştığını varsayarsak. (Bunlar).

Herkes daha iyi bir kod daha sonra bu üretmek için yardımcı olabilir misiniz?

(Ben mantık içinde bu foreach çalışacaktır bile emin değilim ...);

$feedUrl = 'http://www.abc.org/?feed=rss2';

$feed = Zend_Feed_Reader::import($feedUrl);

$lastNews = array();

   foreach ($feed as $key=>$entry)
   {
       if (in_array('tag A', $entry->getCategories()->getValues()))
       {
          while ($key < 2)
          {
             $lastNews['title'] = $entry->getTitle();
             $lastNews['link'] = $entry->getLink();
          }
       }
   }

UPDATE: If I remove the while part, I get all ALL feed entries with the respective title and link. Ok.

Ancak ben ne elde etmek istediğinizi, kendi başlık ve bağlantı parçaları ile sadece İKİ girişleri yaşıyor.

Ekle - iki girişleri en son olmalıdır. Ama, ben, çalışmak için bana ilk anahtarları olarak en son olanları verecek foreach sırasını atlamalı ediyorum. (Emin değilim ancak).

UPDATE II:

@ Dereleased dayanarak ben bu var biliyorum:

(Ben sadece [] kısmını ekledim)

$okEntries = 0;
foreach ($feed as $key => $entry) {
  if ($okEntries >= 2) {
    break;
  }

  if (in_array('Tag A', $entry->getCategories()->getValues()))
  {
     $lastNews[]['title'] = $entry->getTitle();
     $lastNews[]['link'] = $entry->getLink();
     ++$okEntries;
   }
}

Ben bu alıyorum:

array(4) {
  [0]=>
  array(1) {
    ["title"]=>
    string(65) "test title A"
  }
  [1]=>
  array(1) {
    ["link"]=>
    string(33) "http://www.linkA.com"
  }
  [2]=>
  array(1) {
    ["title"]=>
    string(80) "Test title B"
  }
  [3]=>
  array(1) {
    ["link"]=>
    string(33) "http://www.linkB.com"
  }
}

Şimdi, dizi [0] ve [1], bir başlık bağlantı grubu ve dizi [2] ve [3] nasıl iki grup olarak bu olabilir ikinci dizi grup vardır?

Thanks in advance, MEM

0 Cevap