-1

ページ タイトルのリストを含む XML 配列があります。タイトルから日付部分を抽出し、次のような配列を取得しました。

Array ( [0] => 2012 ) 
Array ( [0] => 2013 ) 
Array ( [0] => 2013 )
Array ( [0] => 2014 ) 
Array ( [0] => 2014 ) 
Array ( [0] => 2014 ) 
Array ( [0] => 2015 )

私の質問は、次のように、日付配列をループして、新しい年ごとに空の行を取得する方法です。

  2012 - BLA

  2013 - BLA BLA
  2013 - BLABLA

  2014- BLA BLA BLA
  2014- BLA BLA BLA
  2014- BLA BLA BLA

  2015- BLA

私が考えたのは、タイトルから日付部分を抽出し、配列を調べて、新しい一意の値ごとに新しい行を挿入することです。周りを見回して、重複した値を削除せずにそれを行う方法を見つけることができませんでした。それを行う方法はありますか?助けていただければ幸いです。

よろしく

XML サンプル:

SimpleXMLElement Object ( [@attributes] => Array ( [version] => 2.0 ) [channel] => SimpleXMLElement Object ( [title] => Results [description] => Search Results [link] => http://...... [item] => Array ( [0] => SimpleXMLElement Object ( [title] => 2012 Blah , Blah Blah, Blah [description] => <b>Introduction</b> ...Long text.. [link] => http... [1] => SimpleXMLElement Object ( [title] 
...

私がやったことは、$ year の部分を次のように取り出したことです。

$year = substr(str_replace($type.", ", "", $xmlfeed->channel->item[$i]->title),0,4);
4

2 に答える 2

0

質問にあるように、配列に配列が含まれている場合は、これを行うことをお勧めします: DEMO HERE :

foreach($arrayOfArrays as $array){

     $simpleArray[]= $array[0];//simple array that contains only years
}

sort($simpleArray, SORT_NUMERIC); //we sort this array by year

foreach($simpleArray as $year){
    echo $year.' Bla Bla Bla <br/>';//display every year in a line
}

出力:

2011 Bla bla bla
2012 Bla bla bla
2013 Bla bla bla
2013 Bla bla bla
2013 Bla bla bla
2015 Bla bla bla
于 2013-09-16T09:04:27.200 に答える