Portál AbcLinuxu, 19. dubna 2024 23:58


Dotaz: Jak získat klíče z pole v php

12.5.2014 21:22 La
Jak získat klíče z pole v php
Přečteno: 326×
Odpovědět | Admin
Ahoj, poradí někdo, jak získat klíče z takového pole ? Díky
array { ["aaa"] => array(4) { ["lev"] => '' ["ef"] => '' ["tt"] => '' ["hh"] => '' }
        ["bbb"] => array(4) { ["lev"] => '' ["ef"] => '' ["tt"] => '' ["hh"] => '' }
        ["ccc"] => array(4) { ["lev"] => '' ["ef"] => '' ["tt"] => '' ["hh"] => '' }
}
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

12.5.2014 22:12 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: Jak získat klíče z pole v php
Odpovědět | | Sbalit | Link | Blokovat | Admin
Obvykle se na získávání klíčů používá funkce array_keys(), ale prvně bych se ptal, kterej dobrák ta data do tak hloupého pole nacpal a jestli vůbec bylo nutné ta data do takového pole dávat.

Kromě toho to není pole, ale slovník slovníků.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
12.5.2014 23:55 La
Rozbalit Rozbalit vše Re: Jak získat klíče z pole v php
Dám to do jiného tvaru nebo něčeho jiného když poradíš do čeho nebo jak...
13.5.2014 07:28 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: Jak získat klíče z pole v php
Pokud to je např. výsledek databázového dotazu, tak stačí změnit ten dotaz.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
13.5.2014 16:27 La
Rozbalit Rozbalit vše Re: Jak získat klíče z pole v php
Ano, je.. ale jaký tvar by to mělo mít jsi mi nerekl?
13.5.2014 17:12 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: Jak získat klíče z pole v php
Dej sem původní dotaz, které informace z toho chceš získat a předělám ti ho. Netuším, jakou máš strukturu databáze. Snad po mně nechceš, abych ti dělal komplexní reflexi?
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
13.5.2014 18:33 La
Rozbalit Rozbalit vše Re: Jak získat klíče z pole v php
Vážím si toho, ale nevím co přesně ti mám poslal, doufám, že myslíš sql dotaz. Raději to pošlu jak to mám...
/* Horní menu */
$pole               = array();
$pole['hornimenu'] = array();
foreach($db->query('SELECT `klic`, `adresa`, `nadpis`, `odkaz` FROM `hornimenu` ORDER BY `sort` ASC;') as $radek){
     $pole['hornimenu'][$radek['klic']] = array('adresa' => $radek['adresa'], 'nadpis' => $radek['nadpis'], 'odkaz' => $radek['odkaz']);
}
unset($radek);

/* Hlavní menu */
$pole               = array();
$pole['hlavnimenu'] = array();
foreach($db->query('SELECT `klic`, `adresa`, `nadpis`, `odkaz` FROM `hlavnimenu` ORDER BY `sort` ASC;') as $radek){
     $pole['hlavnimenu'][$radek['klic']] = array('adresa' => $radek['adresa'], 'nadpis' => $radek['nadpis'], 'odkaz' => $radek['odkaz']);
}
unset($radek);

/* Spodní menu */
$pole               = array();
$pole['spodnimenu'] = array();
foreach($db->query('SELECT `klic`, `adresa`, `nadpis`, `odkaz` FROM `spodnimenu` ORDER BY `sort` ASC;') as $radek){
     $pole['spodnimenu'][$radek['klic']] = array('adresa' => $radek['adresa'], 'nadpis' => $radek['nadpis'], 'odkaz' => $radek['odkaz']);
}
unset($radek);
Ale ve výpise mám problém, jelikož nemám ten klíč abych zjistil zda je klíč shodný z adresou v GET.

O výpis jsem se snažil nějak takto
foreach($pole['hornimenu'] as $klic => $prom){
     if($_GET['url'][0] == $klic){
          echo '
  • '.$prom['odkaz'].'
  • '; }else{ echo '
  • '.$prom['odkaz'].'
  • '; } }
    Díky moc.
    Tarmaq avatar 14.5.2014 10:44 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: Jak získat klíče z pole v php
    a ten klic je soucasti adresy? Z tohoto uryvku se zda, ze by to melo byt funkcni. Sice je tam podezrele, ze si po kazdem nacteni polozek do $pole to pole vymazes, coz ale asi bude zpusobeno tim, ze se jedna jen o nejaky uryvek z kodu..
    Don't panic!
    14.5.2014 18:24 La
    Rozbalit Rozbalit vše Re: Jak získat klíče z pole v php
    a ten klic je soucasti adresy?
    Ano, klíč je součástí adresy.
    Sice je tam podezrele, ze si po kazdem nacteni polozek do $pole to pole vymazes
    Vymažu si pole? Čím?
    Tarmaq avatar 14.5.2014 18:45 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: Jak získat klíče z pole v php
    a ten klic je soucasti adresy?
    Ano, klíč je součástí adresy.
    No a co ti teda nefunguje? Zobrazuje se ti link i na aktualne nacitanou stranku? Jak vypada $_GET['url']?
    Sice je tam podezrele, ze si po kazdem nacteni polozek do $pole to pole vymazes
    Vymažu si pole? Čím?
    No nejdriv naplnis $pole hodnotami pro 'hornimenu' a nasledne nez jej jdes plnit hodnotami pro 'hlavnimenu', tak ho mu priradit prazdne pole.. Ale to je predpokladam dano tim, ze jsou to jen vyjmute uryvky kodu..
    Don't panic!
    12.5.2014 22:13 DarkKnight | skóre: 26
    Rozbalit Rozbalit vše Re: Jak získat klíče z pole v php
    Odpovědět | | Sbalit | Link | Blokovat | Admin
    array_keys
    $pole = array("klic1" => 1, "klic2" => 5, "klic3" => array("podklic" => "hodnota"));
    var_dump(array_keys($pole));
    vrati
    array(3) {
      [0]=>
      string(5) "klic1"
      [1]=>
      string(5) "klic2"
      [2]=>
      string(5) "klic3"
    }


    otazkou je, ktere hodnoty klicu chcete, jestli i z poli prvku daneho pole, tak nejlepe to projit asi foreachem (mergovat ta pole bude zbytecne slozite)
    12.5.2014 23:54 La
    Rozbalit Rozbalit vše Re: Jak získat klíče z pole v php
    Potřebuji klíče key1, key2, key3...

    $pole['key1'] = array("klic1" => 1, "klic2" => 5, "klic3" => array("podklic" => "hodnota"));
    $pole['key2'] = array("klic1" => 1, "klic2" => 5, "klic3" => array("podklic" => "hodnota"));
    $pole['key3'] = array("klic1" => 1, "klic2" => 5, "klic3" => array("podklic" => "hodnota"));
    13.5.2014 07:29 Kit | skóre: 45 | Brno
    Rozbalit Rozbalit vše Re: Jak získat klíče z pole v php
    array_keys($pole);
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.