Horst: PHP array

Guten Tag,

ich habe eine Frage bezüglich Arrays und bin auch nach Suche zu keinem Ergebnis gekommen leider.

Ich habe zwei Arrays.

  
a1 = (4,6,78)  
a2 = (Klaus, Peter, Schulze)

Diese beiden Array kombiniere ich mit array_combine zu einem.
a3 = array_combine (a1,a2)

Nun möchte ich den Array sortiert (mit arsort) nach KEY haben und den niedristen Wert (hier 4) inkl. VALUE ausgeben.

Wie greife ich auf den ersten Index zu, wenn ich weder VALUE noch KEY kenne?

Gruss
horst

  1. Grüße,

    Wie greife ich auf den ersten Index zu, wenn ich weder VALUE noch KEY kenne?

    assoziative arrays lassen sich auch mit zählern ansprechen - also array[0] wäre auch gültig. gewüsnchte sortierung vorausgesetzt.
    MFG
    bleicher

    1. Hello,

      assoziative arrays lassen sich auch mit zählern ansprechen - also array[0] wäre auch gültig. gewüsnchte sortierung vorausgesetzt.

      woher hast Du dies Weisheit?

      Liebe Grüße aus dem Cyberspace

      Tom vom Berg

      --
      Nur selber lernen macht schlau
      http://bergpost.annerschbarrich.de
      1. Grüße,

        woher hast Du dies Weisheit?

        Laut PHP.net

        http://www.php.net/manual/en/language.types.array.php

        zudem - es funktionierte bisher^^
        MFG
        bleicher

        1. Ich glaub nicht das es funktioniert:

          http://forum.de.selfhtml.org/?t=185466&m=1230812

          1. Grüße,

            Ich glaub nicht das es funktioniert:

            http://forum.de.selfhtml.org/?t=185466&m=1230812

            jep - dann eben foreach mit break; o.ä.?

            MFG
            bleicher

            1. » jep - dann eben foreach mit break; o.ä.?

              Wie ich schon geschrieben habe - wenn er nur das erste will ist array_shift eine gute Lösung. Kommt drauf an was er damit vor hat :)

        2. Hi,

          http://www.php.net/manual/en/language.types.array.php

          Fehlinterpretation. Richtig ist, dass auch Arrays mit rein nummerischen Indizes assoziative Arrays sind.

          zudem - es funktionierte bisher^^

          Vorausgesetzt es gab den entsprechenden Key ;-)

          Cheatah

          --
          X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
          X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
          X-Will-Answer-Email: No
          X-Please-Search-Archive-First: Absolutely Yes
  2. Hello,

    Wie greife ich auf den ersten Index zu, wenn ich weder VALUE noch KEY kenne?

    1. Möglichkeit: Selber eine Lösung mit foreach() bauen

    2. Möglichkeit: Array_keys() benutzen

    3. Möglichkeit: array_slice() oder array_splice() benutzen, aber darauf achten,
       dass die Zuordnung zwischen Keys und Values nicht verloren geht.

    4. ?

    Liebe Grüße aus dem Cyberspace

    Tom vom Berg

    --
    Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
  3. Dafür gibt es mehrere Möglichkeiten.

    Hier wird das erste Element des Arrays aus dem Array 'rausgeschnitten' und in der Variable 'firstElement' gespeichert.

    $firstElement = array_shift($a3);

    Ansonsten kannst du wohl mit dem immerwährenden Index, welcher bei 0 startet arbeiten.
    $firstElement = $a3[0];

    Wie das Array aufgebaut ist (inkl. Keys) kannst du so leicht rausfinden:
    var_dump('<pre>', $a3, '</pre>');
    Die Pre-Tags sind nur zur besseren Darstellung im Browser da.

    1. Ansonsten kannst du wohl mit dem immerwährenden Index, welcher bei 0 startet arbeiten.
      $firstElement = $a3[0];

      Mein Fehler - hab zu  viel mit Pregmatch gearbeitet *g* - sobald es ein assi-Array ist, geht $a3[0] natürlich nicht mehr.

      Hier erfolgt keine Ausgabe:

        
      $array = array('foo'=>'bar');  
      echo $array[0];  
      
      
      1. echo $begrüßung;

        Hier erfolgt keine Ausgabe:

        $array = array('foo'=>'bar');

        echo $array[0];

          
        Natürlich erfolgt hier eine Ausgabe, denn als "ordentlicher" Programmierer hat man ja schließlich das error\_reporting beim Entwickeln auf E\_ALL stehen.  
          
          
        echo "$verabschiedung $name";
        
        1. *grunz*

          Langsam bin ich der Schlaumaierkommentare überdrüssig -.- ... natürlich wird ein notice oder warning ausgespuckt, aber es erfolgt kein Ausgabe im Sinne eines gewünschten Ergebnisses...

          *forum wieder schließ, hält man ja nich lange hier aus -.-*

          1. Hello,

            Langsam bin ich der Schlaumaierkommentare überdrüssig -.- ... natürlich wird ein notice oder warning ausgespuckt, aber es erfolgt kein Ausgabe im Sinne eines gewünschten Ergebnisses...

            *forum wieder schließ, hält man ja nich lange hier aus -.-*

            *hihihi*

            Trags mit Humor!

            Liebe Grüße aus dem Cyberspace

            Tom vom Berg

            --
            Nur selber lernen macht schlau
            http://bergpost.annerschbarrich.de
        2. Hello,

          Hier erfolgt keine Ausgabe:

          $array = array('foo'=>'bar');

          echo $array[0];

          
          >   
          > Natürlich erfolgt hier eine Ausgabe, denn als "ordentlicher" Programmierer hat man ja schließlich das error\_reporting beim Entwickeln auf E\_ALL stehen.  
            
          klar, aber bei einem "ordentlichen Programmierer" landet diese Ausgabe im Fehlerkanal, also z.B. in einer Logdatei und nicht etwa auf dem Client, also in der Standardausgabe :-P  
            
            
            
          Liebe Grüße aus dem Cyberspace  
            
            
          Tom vom Berg  
          ![](http://selfhtml.bitworks.de/Virencheck.gif)  
            
          
          -- 
          Nur selber lernen macht schlau  
          <http://bergpost.annerschbarrich.de>
          
  4. echo $begrüßung;

    Wie greife ich auf den ersten Index zu, wenn ich weder VALUE noch KEY kenne?

    Mit key() und current(). Und vorher noch ein reset().

    echo "$verabschiedung $name";