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

  • Taci

    addikt

    válasz sztanozs #20898 üzenetére

    Tehát ha jól értem, akkor ebből
    $kategoriak = array(
        'szorakozas' => ['elozetes', 'film', 'sorozat', 'hbo', 'mozi'],
        'kultura' => ['mozi', 'szinhaz', 'múzeum', 'koncert', 'film'],
        'masszázs' => ['eufória']
    );

    ezt csináltad:
    $kulcsok = array(
        "elozetes" => "szorakozas",
        "film" => "szorakozas",
        "film" => "kultura",
        "sorozat" => "szorakozas",
        "hbo" => "szorakozas",
        "mozi" => "szorakozas",
        "mozi" => "kultura",
        "szinhaz" => "kultura",
        "múzeum" => "kultura",
        "koncert" => "kultura",
        "eufória" => "masszázs",
    );

    És akkor azt mondod, hogy így ezen belül az array_key_exists (key_exists) gyorsabban megtalálja az értéket, és egyből ott van hozzá a kategória neve is értékként.
    Kipróbálom, köszi.

    Reggel amúgy rákerestem arra, hogy "php in_array slow performance", és volt egy válasz valahol, ahol azt ajánlotta, hogy a
    $categories_szorakozas = array(
        "elozetes",
        "film",
        "sorozat",
        "hbo",
        "mozi",
    );

    helyett legyen:
    $categories_szorakozas = array(
        "elozetes" => true,
        "film" => true,
        "sorozat" => true,
        "hbo" => true,
        "mozi" => true,
    );

    és így array_key_exists-tel ellenőrizni. Átírtam, futtattam egy tesztet (előzővel és ezzel is ugyanúgy 10 mp-re limitálva), és az in_array 10mp alatt 77 rekordot tudott feldolgozni, míg ez a másik fajt az array_key_exists-tel csak 38-at... Szóval vissza is írtam.

    De a te változatodnak sokkal több értelme van, szóval teszek azzal is egy próbát.
    Meg amúgy (bár nem hiszem, hogy túl sok időbe kerül az a kezdeti, "kulcsok" táblát feltöltő művelet, de) megcsinálhatom eleve úgy a "kategoriak" tömböt, hogy eleve abban a formában legyen.

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