Új hozzászólás Aktív témák

  • Sk8erPeter

    nagyúr

    válasz dragon1993 #14314 üzenetére

    Láttam, hogy azóta megoldódott a gondod, de muszáj rákérdeznem:

    $urlek="";
    $sha="";
    foreach ($xml->oldal as $oldal)
    {
    $urlek = $urlek.$oldal->url;
    $sha = $sha.$oldal->sha1;
    }

    $sha = split(",", $sha);
    $urlek = split(",", $urlek);

    ....
    foreach ($urlek as $url)
    ....

    Ennek mi értelme van?
    Először konkatenálod egy stringgé, aztán széjjelszeded a vesszők mentén, hogy kapj egy tömböt, majd ezután végigmész a tömbön? Miért nem eleve tömböt hozol létre? Azt mondjuk eleve nem tudom, miért tartalmaz vesszőt az $oldal->url tartalma (gondolom tartalmaz, ha már annak mentén szeded széjjel), először azt kéne megoldani, de ha így is van, akkor sem összerakni, majd széjjelbontani kéne, hanem egyszerűen leszedni a vesszőt a végéről, és utána bepakolni az aktuális $oldal->url tartalmát egy tömbbe, úgy még lenne is értelme annak, amit csinálsz. :D

    Mondjuk a továbbiak is elég brutálisak. Gondolj bele, milyen felesleges futási időket adsz hozzá az alapvetően nem túl bonyolult scriptedhez:
    - 2 különálló foreach ciklus - ebből eleve 1 kilőhető, mert tök felesleges végigmenni még egyszer az immár tömbbe rakott URL-eken - minek különgyűjteni, ha úgyis egyből kezdeni akarsz vele valamit? Totál felesleges lépés kapásból az elején
    - aztán ott van az az érdekesen kinéző do-while-od
    - még egy while
    - ezenbelül még egy do-while
    - na most még egy foreach így a végére

    Érzed, mennyi felesleges lépés? :D

Új hozzászólás Aktív témák

Hirdetés