Autor Zpráva
Perry
Profil
Vytahuji z DB data, která na stránce několikrát čtu. Na začátku stránky si data z DB vyberu a uložím je do pole. K poli potom přistupuji přes index např. $data[1][hodnota], $data[1][popis]

Zajímá mě, jestli je rychlejší tohle řešení, nebo si data uložit do objektu a pak volat $data->hodnota

struktura tridy by byla
class Data {
  public hodnota1;
  public popis1;
  public hodnota2;
  public popis2;
 //atd...
}

struktura pole je:
$data = array(array("hodnota", "popis"), array("hodnota", "popis")/*... atd.*/)
tiso
Profil
Perry: vytvor si to pole tak, aby sa ti s ním dobe pracovalo, neviem čo s ním potrebuješ robiť. Bez konkrétnejších informácií sa nedá poradiť lepšie.
Perry
Profil
jenom v něm uchovávám data, která pozd+ěji vypíšu na stránce. Něco jako template system.
tiso
Profil
Perry: no to si mi pomohol...
Perry
Profil
no jako nevím jak víc to upřesnit. Template system je konkretni dost.
tiso
Profil
Perry: mám auto a nejde. Je červené. To je tiež konkrétne a pomohlo? Nepomohlo...
Jan Tvrdík
Profil
Perry:
Použití objektu bude pravděpodobně čistější z hlediska návrhu, použití pole bude rychlejší.
Perry
Profil
Jan Tvrdík:
I v případě, že je to 2D pole ? U 1D pole bych vsadil na rychlost pole, u 2D už si jistý nejsem. Nevím, jak je vnitřně implementované. Pokud stejně jako v C / C++, pak to rychlejší bude, pokud pod ním ovšem běží něco sofistikovaného ala spojový seznam apod., tak pak už nevím.
Jan Tvrdík
Profil
Perry:
Pakliže chceš přesná data, tak si to prostě změř. Zjistíš, že obě varianty jsou tak rychlé (nevím, kolik tam máš záznamů), že je zcela jedno, kterou využiješ. Osobně si ale myslím, že obalit pole objektem bude pomalejší, protože objektový přístup má mnohem složitejší režii, než práce s polem.
AM_
Profil
Jan Tvrdík
proc by mel byt cistejsi objekt? me prijde, ze je naprosto zbytecne na to psat tridu, lepsi je proste vytvorit asociativni pole a data z nej pouzit, ne?
DoubleThink
Profil *
je naprosto zbytecne na to psat tridu
Jan Tvrdík pravděpodobně myslel předdefinovanou stdClass.

Výkonově je to šumák, pokud nebudeš dělat strom s milionem větví.
Perry
Profil
Ok :) Díky za pomoc
Jan Tvrdík
Profil
AM:
proc by mel byt cistejsi objekt?
Protože v objektu můžeš jednotlivé prvky udělat read-only.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0