array_keys () nur wenn nicht numerisch

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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.

    Comment


    • #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?

      Comment


      • #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.

        Comment


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

          Soetwas in der Richtung vielleicht?

          Comment


          • #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'
            ));

            Comment


            • #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

              Comment


              • #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.

                Comment

                Working...
                X