<_:a> <http://xmlns.com/foaf/0.1/name> "Ewcia".
<_:a> <http://xmlns.com/foaf/0.1/surname> "haha".
<_:a> <http://xmlns.com/foaf/0.1/nick> "sarenka".
<_:a> <http://xmlns.com/foaf/0.1/gender> "female".
<_:a> <http://xmlns.com/foaf/0.1/birthday> "05-25".
<_:a> <http://xmlns.com/foaf/0.1/age> 23.
<_:b> <http://xmlns.com/foaf/0.1/name> "Peter".
<_:b> <http://xmlns.com/foaf/0.1/nick> "Wariat".
<_:b> <http://xmlns.com/foaf/0.1/nick> "Kojot".
<_:b> <http://xmlns.com/foaf/0.1/gender> "male".
<_:b> <http://xmlns.com/foaf/0.1/birthday> "03-25".
<_:b> <http://xmlns.com/foaf/0.1/age> 33.
itd ...
. Stringi są oddzielone znakami tabulacji. Jak widać wiele z nich się powtarza.Rzecz w tym aby odczytać dane z tego pliku w ten sposób, że to pierwszej tablicy wrzucam pierwsze elementy stringu tzn: <_:a>,<_:b>.<_:a>,<_:d>,... itd.
Do drugiej: <http://xmlns.com/foaf/0.1/name>, <http://xmlns.com/foaf/0.1/name> ... itd. Do trzeciej tablicy: "Ewcia".,"Peter". ... itd. Następnie usunąć powtarzające się wiersze i tu mam problem gdyż pomimo korzytsania z funkcji array_unique pozostaje mi jeden dubel.
Tak to realizuje:
1) Odczyt pliku i rozbcie ze względu na znak \t
<?php function czytajPlik() { } ?>
2) Jedna z funkcji w tym przypadku do pobierania drugiego elementu wiersza:
<?php function pobierzWlasciwosci($tablicaDanych) { for ($i=2;$i<count($tablicaDanych);$i=$i+3) { $wlasciwosci[]=$tablicaDanych[$i]; } } ?>
3) Wyświetlenie właściwości tzn wszystkich drugich elementów każdego wiersza:
<?php $data=czytajPlik(); $wlasciwosci=pobierzWlasciwosci($data); foreach ($wlasciwosci as $k){ ?>
Na ekranie dostaje:
<http://xmlns.com/foaf/0.1/name>
<http://xmlns.com/foaf/0.1/mbox>
<http://xmlns.com/foaf/0.1/surname>
<http://xmlns.com/foaf/0.1/nick>
<http://xmlns.com/foaf/0.1/gender>
<http://xmlns.com/foaf/0.1/birthday>
<http://xmlns.com/foaf/0.1/age>
<http://xmlns.com/foaf/0.1/age>
Jak widać <http://xmlns.com/foaf/0.1/age> jest zdublowany.
Wszystkie inne elementy tablicy $wlasciwosci zostały pozbawione powtarzających się wpisów. Ta sama sytuacja występuje gdy próbuje jedną z innych moich funkcji wyświetlić pozostałe elementy mojego trójelemntowego wiersza zawsze jeden element jest zdublowany