Likes Likes:  0
Resultaten 1 tot 4 van de 4
Geen

Onderwerp: array?

  1. #1
    Koen
    array?
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    array?

    Hallo,

    Ik ben bezig met een php-script voor een familiestamboom. Het script werkt,
    maar kan op sommige punten wat efficiënter voor mijn gevoel.
    Zo bepaalt het script bij het aanroepen van een bepaalde generatie (een
    generatie is een groep voorouders) de waarde van enkele variabelen. Volgens
    mij moet onderstaand script korter kunnen, met een array misschien, maar ik
    krijg dat niet voor elkaar. Wie kan me helpen?

    if ($_GET["action"] == gen01) {
    $genmenu = "gen01";
    $genmin = 1;
    $genmax = 63;
    }
    if ($_GET["action"] == gen07) {
    $genmenu = "gen07";
    $genmin = 64;
    $genmax = 255;
    }
    if ($_GET["action"] == gen09) {
    $genmenu = "gen09";
    $genmin = 256;
    $genmax = 511;
    }
    En dan volgen nog zo'n 20 generaties...





  2. #2
    Anno
    array?
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: array?


    "Koen" <koenweb@zonnet.nl> schreef in bericht
    news:45fa361e$0$19150$bf4948fe@news.tele2.nl...
    > Hallo,
    >
    > Ik ben bezig met een php-script voor een familiestamboom. Het script
    > werkt, maar kan op sommige punten wat efficiënter voor mijn gevoel.
    > Zo bepaalt het script bij het aanroepen van een bepaalde generatie (een
    > generatie is een groep voorouders) de waarde van enkele variabelen.
    > Volgens mij moet onderstaand script korter kunnen, met een array
    > misschien, maar ik krijg dat niet voor elkaar. Wie kan me helpen?
    >
    > if ($_GET["action"] == gen01) {
    > $genmenu = "gen01";
    > $genmin = 1;
    > $genmax = 63;
    > }
    > if ($_GET["action"] == gen07) {
    > $genmenu = "gen07";
    > $genmin = 64;
    > $genmax = 255;
    > }
    > if ($_GET["action"] == gen09) {
    > $genmenu = "gen09";
    > $genmin = 256;
    > $genmax = 511;
    > }
    > En dan volgen nog zo'n 20 generaties...
    >

    Dat kan met "switch"

    switch ($_GET["action"]) {
    case "gen01":
    $genmenu = "gen01";
    $genmin = 1;
    $genmax = 63;

    break;
    case "gen07":
    etc





  3. #3
    robert
    array?
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: array?

    Koen <koenweb@zonnet.nl>:
    > Hallo,
    >
    > Ik ben bezig met een php-script voor een familiestamboom. Het script werkt,
    > maar kan op sommige punten wat efficiënter voor mijn gevoel.
    > Zo bepaalt het script bij het aanroepen van een bepaalde generatie (een
    > generatie is een groep voorouders) de waarde van enkele variabelen. Volgens
    > mij moet onderstaand script korter kunnen, met een array misschien, maar ik
    > krijg dat niet voor elkaar. Wie kan me helpen?
    >
    > if ($_GET["action"] == gen01) {
    > $genmenu = "gen01";
    > $genmin = 1;
    > $genmax = 63;
    > }
    > if ($_GET["action"] == gen07) {
    > $genmenu = "gen07";
    > $genmin = 64;
    > $genmax = 255;
    > }
    > if ($_GET["action"] == gen09) {
    > $genmenu = "gen09";
    > $genmin = 256;
    > $genmax = 511;
    > }
    > En dan volgen nog zo'n 20 generaties...


    Zoiets misschien:

    $generaties = array(
    gen01 => array("gen01", 1, 63),
    gen07 => array("gen07", 64, 255),
    gen09 => array("gen09", 256, 511),
    # en zo nog 20 generaties verder
    );

    $gen = $generaties($_GET["action"])
    if ($gen)
    {
    $genmenu = $gen[0];
    $genmin = $gen[1];
    $genmax = $gen[2];
    }
    else
    {
    # bestaat niet!
    }

    Mij is alleen niet duidelijk wat die gen0X dingen zijn waarmee je
    $_GET["action"] vergelijkt (strings?), maar dat kan aan mijn beperkte PHP
    kennis liggen

    --
    robert

  4. #4
    Rik
    array?
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: array?

    Koen <koenweb@zonnet.nl> wrote:

    > Hallo,
    >
    > Ik ben bezig met een php-script voor een familiestamboom. Het script
    > werkt,
    > maar kan op sommige punten wat efficiënter voor mijn gevoel.
    > Zo bepaalt het script bij het aanroepen van een bepaalde generatie (een
    > generatie is een groep voorouders) de waarde van enkele variabelen.
    > Volgens
    > mij moet onderstaand script korter kunnen, met een array misschien, maar
    > ik
    > krijg dat niet voor elkaar. Wie kan me helpen?
    >
    > if ($_GET["action"] == gen01) {
    > $genmenu = "gen01";
    > $genmin = 1;
    > $genmax = 63;
    > }
    > if ($_GET["action"] == gen07) {
    > $genmenu = "gen07";
    > $genmin = 64;
    > $genmax = 255;
    > }
    > if ($_GET["action"] == gen09) {
    > $genmenu = "gen09";
    > $genmin = 256;
    > $genmax = 511;
    > }
    > En dan volgen nog zo'n 20 generaties...



    Wat is de logica van je $genmin & $genmax? Dat kan wellicht een stuk
    effectiever als het berekend kan worden nav de nummers in je genXX.

    Ook moet je strings quoten, tenzij je constanten met de de gen01 etc. hebt
    gedefinieerd (waarbij het zo'n beetje standaard is constanten in
    hoofletters te schrijven om verwarring te voorkomen).

    Ik zou het nummer in een andere GET value zetten overigens, maakt het een
    stuk handzamer.

    if($_GET['action'] = 'gen'){
    $level = intval($_GET['level']);
    $genmenu = 'gen'.$level;
    //wat pseudo-berekeningen:
    $genmin = pow(2,$level-1);
    $genmax = pow(2,$level + 1);
    }
    --
    Rik Wasmus
    Posted on Usenet, not any forum you might see this in.
    Ask Smart Questions: http://tinyurl.com/anel

Webhostingtalk.nl

Contact

  • Rokin 113-115
  • 1012 KP, Amsterdam
  • Nederland
  • Contact
© Copyright 2001-2026 Webhostingtalk.nl.
Web Statistics