elemek ABC sorrendbe rendezése


Weblap tervezésénél az egyik legfontosabb dolog az átláthatóság. Ennek egyik alapeleme az, hogy a különböző dolgokat ABC sorrendben írjuk ki…
Én ma belefutottam abba a problémába, hogy a Magyarországon levő megyéket ABC sorrendben szerettem volna kiírni… Lustaság fél egészség alapon inkább írtam egy rövid szkriptet, ami egy megadott TXT file sorait ABC sorrendben adja vissza…

kód

function abc_sort($file, $template="")
{
if(!file_exists($file) OR !is_readable($file))
{
return false;
}

$fa = fopen($file,’r’);
while($data = fgets($fa, 1024))
{
$array[count($array)] = $data;
}
natsort($array);
foreach($array as $variable)
{
if($template == ”)
{
$return .= $variable . "<br>\n";
}
else
{
$return .= ereg_replace(‘{VALUE}’, $variable, $template) . "\n";
}
}
return $return;
}

Nézzük mit csinál ez a kód!
Két változót fogad el, az első kötelező, a második nem. Az első változó egy filenév-nek kell, hogy legyen. Ha létezik a file, és olvasható is, akkor megnyitja a file, és minden sort kiolvas belőle.

Ezután a "Natural Order" (természetes sorrend… Hogy az ABC mitől természetes az kérdéses, de ez most részletkérdés…) szerint sorrendbe rakja őket, és utánna ezeket soronként visszaadja.

Ha nem adtuk meg a sémát a második változóban, akkor úgy, hogy minden egyes sort egy új sorba ír ki és kész, ha megadtuk, akkor a séma szerint. Utóbbi esetben a sor szövegét a {VALUE} szöveggel helyettesítjük…

Használat:
Valahova a php oldalunk-ba szúrjuk be ezt a kódod, és utánna így hívjuk meg:

kód

print abc_sor(‘file_neve’);

Az én példámra visszatérve, én ugye a megyéket akartam kilistázni. A megyéket a megyék.txt fileban tároltam el, olyan sorrendben, ahogy eszembe jutottak, és mivel egy <SELECT-be akartam az értékeket berakni a következő képpen kellett formáznom:

kód

print abc_sor(‘file_neve’, ‘<OPTION value="{VALUE}">{VALUE}</OPTION>’);

(Zárójeles megjegyzés: ugyan nem teszteltem, de gondolom ha sok sorról van szó (több százezer), akkor egy kicsit lassú lehet… Akár másodperces nagyságrend, ami – mint tudjuk – PHP-nél végzetes lehet, ha alacsony értékre van állítva a Maximum excecution time direktíva)

Írta: BlackY

Kapcsolódó bejegyzések:
  • A szerverről történő oldal-letöltéseket számolja. A működéshez PHP-t futtató szerverre lesz szükségünk. A scriptet be lehet illeszteni a …

  • Biztos találkoztál már olyan oldallal, mely megmutatta a látogatók aktuális IP-jét és/vagy HOST-ját. A módszer nem túl bonyolult, mint az a leírásból is kider&uu …

  • A devpapers.com -on találtam egy hasznos leírást, amiben egy olyan kódot mutattak be, mely segítségével egy adott könyvtárból véletlenszerűen lehet képet választ …

  • Ma belefutottam egy problémába: mi van akkor, ha otthoni kis házi szerverünk van, és regisztrálunk hozzá egy domain-t pl. a www.no-ip.com-on. Egyszerű az eset: a …

  • A Mambo 4.5-ös sorozata a cikkeket alapértelmezettként 10-esével listázza le úgy, hogy a legfrissebb hírek/cikkek mindig a lista végére teszi. Ez szerintem több …

A cikket beküldte: BlackY ()

Szólj hozzá
a elemek ABC sorrendbe rendezése c. bejegyzéshez

- Engedélyezett HTML elemek: <a> <em> <strong> <ul> <ol> <li>
- Forráskód beküldéséhez tedd a kódot ezek közé: <pre lang="php" line="1">Kódrészlet helye itt</pre>