array_keys () nur wenn nicht numerisch

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • array_keys () nur wenn nicht numerisch

    In diesem Beispeil werden Werte und ein key innerhalb eines Array definiert.

    $a = array(
    'a',
    'b',
    'c' => array(
    'x',
    'y',
    'z'
    ));

    echo $a[0]."<br>";
    echo $a[1]."<br>";
    echo $a[2]."<br>";

    Wie greife ich auf einen arraykey zu?
    Ich möchte den arraykey nur augeben wenn dieser nicht nummerisch ist, sonst die Werte ausgeben. Wie erreicht ich das, gibt es eine funktion für diesen Fall?

  • #2
    Hi,

    das einfachste wäre eine foreach-Schleife. Dort kannst du dann $key=>$value im Schleifenkopf definieren. Dazu gibt es noch die Methode key(), die den aktuellen Key zurückgibt.

    Kommentar


    • #3
      Original geschrieben von Manko10
      Hi,

      das einfachste wäre eine foreach-Schleife. Dort kannst du dann $key=>$value im Schleifenkopf definieren. Dazu gibt es noch die Methode key(), die den aktuellen Key zurückgibt.
      Hm, es soll erst mal keine Schleife durchlaufen werden. Wie schieße ich denn aus, dass alle Keys ausgegeben werden. Ich will diese nur haben wenn sie nicht nummerisch sind?

      Kommentar


      • #4
        Direkt dafür gibt es keine Funktion. Um eine Schleife wirst du wohl nicht herumkommen. Ob du nun das Array selbst durchläufst oder zuerst ein Array mit array_keys() anlegst und das dann durchläufst ist natürlich dir überlassen.

        Kommentar


        • #5
          PHP-Code:
          foreach($array as $key => $value)
          {
          if (
          is_int($key))//...

          Soetwas in der Richtung vielleicht?

          Kommentar


          • #6
            Original geschrieben von Manko10
            Hi,

            das einfachste wäre eine foreach-Schleife. Dort kannst du dann $key=>$value im Schleifenkopf definieren. Dazu gibt es noch die Methode key(), die den aktuellen Key zurückgibt.
            Anders gefragt: Wie stelle ich es an, dass ich aus diesen Array alles außer numerischen Schüsseln ausgebe? Also a,b,c, x,y,z ... Es soll ein Menü werden.
            $a = array(
            'a',
            'b',
            'c' => array(
            'x',
            'y',
            'z'
            ));

            Kommentar


            • #7
              Hallo

              Da ich gerade an so was arbeite, hoffe ich das ich dir helfen kann:
              Wie gefällt dir das?
              PHP-Code:
              $v_menu= array(
                               
              => array(
                                           
              'name' =>     'Menu 01',
                                          
              'icon'     =>     '<img src="pad zur Bilddateif" />',
                                          
              'link'    =>    'Pfad zur LinkDatei',
                                          ),
                               
              => array(
                                           
              'name' =>     'Menu 02 ',
                                          
              'icon'     =>     '<img src="pad zur Bilddateif" />',
                                          
              'link'    =>    'Pfad zur LinkDatei',
                                           ),
                               
              => array(
                                           
              'name' =>     'Menu 03',
                                          
              'icon'     =>     '<img src="pad zur Bilddateif" />',
                                          
              'link'    =>    'Pfad zur LinkDatei',
                                           ),
                              );



              // damit rufst dein menu Array auf
              foreach($v_menu as $link => $v)
                  {
                      echo 
              '    <div>' $v['link']  . $v['icon']  . $v['name'] . '</div><br />\n';
                              
              // wenn du nur den menu namen möchtest dann
                              
              echo ' <div>'  $v['name'] . '</div><br />\n'
               
                  } 
              LG
              Susanne

              Kommentar


              • #8
                Anders gefragt: Wie stelle ich es an, dass ich aus diesen Array alles außer numerischen Schüsseln ausgebe? Also a,b,c, x,y,z ... Es soll ein Menü werden.
                Wenn die Ausmaße des Arrays unbekannt sind, so wäre eine rekursive Funktion angebracht.

                Kommentar

                Lädt...
                X