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

  • sztanozs

    veterán

    válasz Taci #20897 üzenetére

    Igen, az in_array sinám végigiterál, amíg meg nem találja, míg a másik változat (key_exists) esetében azt a tulajdonságot abuzáljuk, hogy a kulcsok hash-elve vannak tárolva és sokkal gyorsabban kereshetők, mint maga az adat.
    Mivel nincs rendes Set megoldás (illetve a DS/Set nincs alapból telepítve), így a tömb asszociatív kulcs keresés megoldását lehet abuzálni, hogy sebességben sikert érjünk el.
    Ezzel a módszerrel tárolhajuk az összefüggéseket két irányból is:
    <?php
    $kategoriak = array(
    'szorakozas' => ['elozetes', 'film', 'sorozat', 'hbo', 'mozi'],
    'kultura' => ['mozi', 'szinhaz', 'múzeum', 'koncert', 'film'],
    'masszázs' => ['eufória']
    );
    $kulcsok = [];
    foreach($kategoriak as $kat => $v) {
    foreach($v as $kulcs) {
    if (key_exists($kulcs, $kulcsok)) {
    $kulcsok[$kulcs][] = $kat;
    } else {
    $kulcsok[$kulcs] = array($kat);
    }
    }
    }
    var_dump($kulcsok);

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