Index mit Wert zu einem Array hinzufügen

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

  • Index mit Wert zu einem Array hinzufügen

    Hi,

    kann mirm einer sagen was ich falsch mache, ich probiere einen Index mit Wert in einen Arry einzufügen. Aber es klappt nicht so ganz hier mal mein Code.

    PHP-Code:
    $row4 = array ('1'=>'3');
    $row4[] = array ('2'=>'4');
    print_r ($row4); 
    Die Ausgabe:

    Array ( [1] => 3 [2] => Array ( [2] => 4 ) )
    nur ich will das hier haben^^

    Array ( [1] => 3 [2] => 4 )

  • #2
    Hi,

    versuch es ma so, allerdings fängt der index hier bei 0 an, wenn du das nicht möchtest dann musst das halt etwas anders machen, ich kenne ja nicht den zusammenhang deines codes.

    PHP-Code:
    $row4[] = 3;
    $row4[] = 4;
    print_r ($row4);

    Array ( [
    0] => [1] => 
    Zuletzt geändert von gourmet; 21.08.2008, 21:57.

    Kommentar


    • #3
      mit
      PHP-Code:
      $row4[] = array ('2'=>'4'); 
      fügst du dem array ein array hinzu. Deine gewünschte Darstellung erhälst du durch
      PHP-Code:
      $row4['1'] = '3';
      $row4['2'] = '4'
      oder
      PHP-Code:
      $row4 = array('1' => '3''2' => '4'); 

      Kommentar


      • #4
        Aso, da wäre ich nie drauf gekommen erlich gesagt^^.

        DANKE!

        Kommentar


        • #5
          Original geschrieben von trainmen
          Aso, da wäre ich nie drauf gekommen erlich gesagt^^.
          Für die Zukunft: Du hättest auch in die Doku schauen können.

          Kommentar


          • #6
            und wenn du keinen index kennst, kannst du auch array_push() nutzen.
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar


            • #7
              Statt array_push tuts auch ein normales:
              PHP-Code:
              $row[] = 3

              Kommentar


              • #8
                Original geschrieben von h3ll
                Für die Zukunft: Du hättest auch in die Doku schauen können.
                Hab probiert zu googeln und im Handbuch was zu finden, aber was ist Doku?

                Kommentar


                • #9
                  Original geschrieben von trainmen
                  Hab probiert zu googeln und im Handbuch was zu finden, aber was ist Doku?
                  http://de.php.net/manual/de/language.types.array.php

                  Kommentar


                  • #10
                    Stimmt da steht es, hab ich aber leider nicht gefunden.

                    Wie es aussieht war die Sache wiso eine blöde Idee. Weil man ja einen Array nicht nach Indes sotieren kann soweit ich weiss. Wenn es doch geht hätte ich aber das Problem dass der Index nicht vorausschaubar ist.

                    Hab mir gedacht das ich das jetzt mit einem multi array mache. Nur komme ich da auch nicht weiter. Hab mir schon ein paar mal das Manuel durch gelesen nur steig ich nicht hinter.

                    Das ist was ich bis jetzt habe, was aber nicht geht:

                    PHP-Code:
                                for ($row=0;$row mysql_fetch_assoc($query);$row++)
                                    {
                                    
                    $row3[] = array('id' => $row['id'], 'points' => $row['talent_points']);

                                   }
                                
                                
                    $row4 array_multisort($row3['id'], SORT_DESC$row3['points'], SORT_ASC$row3);
                                
                    print_r ($row4); 
                    $row3 Ausgabe:
                    Array ( [0] => Array ( [id] => 22612 [points] => 5 ) [1] => Array ( [id] => 22675 [points] => 0 ) [2] => Array ( [id] => 22674 [points] => 0 ) [3] => Array ( [id] => 22673 [points] => 0 )

                    Kommentar


                    • #11
                      1. Man kann ein Array nach Keys sortieren. ksort()
                      2. Man kann auch in SQL sortieren. Mit ORDER BY ...
                      3. Wer nicht weiß wie man ein Array füttert, sollte for-Schleifen nicht so benutzen wie du!

                      Kommentar


                      • #12
                        Kleiner Tipp am Rande:

                        Verwende vernünftige Variablennamen und nicht $row3, $row4, usw. Da weiß kein Mensch, was da drin stehen soll. Das macht es auch für dich selber einfacher den Überblick zu behalten und irgendwann später deinen eigenen Code zu verstehen.

                        Und statt durchnummerierte Variablen verwende Arrays, dafür gibt es sie ja.

                        Kommentar


                        • #13
                          Ich hab das jetzt mit ksort() sotiert, bin auch soweit mit dem Ergebniss zu frieden.

                          Ergebniss:
                          Array ( [22612] => 5 [22613] => 5 [22614] => 5 [22615] => 0 [22616] => 3 [22617] => 1 [22618] => 2 )
                          Das einzige Problem ist das ich nicht vorher weiss was der Index seien wird. Gibt es eine Befehl um den array trotzdem über Schlüssel 0,1,2,3,4,5,6 auszulesen?

                          Beispiel:
                          array[0] = 5; array[1] = 5; array[2] = 5; array[3] = 0; array[4] = 3; array[5] = 1; array[6] = 2;

                          Ich hab schon mal das Manuel durchsucht aber nix passendes gefunden. Aso es soll halt nicht in der DB sortiert werden sondern per PHP.

                          Edit: Oder vllt ein Befehl um den ersten Schlüssel/Index eines Arrays auszulesen.
                          Zuletzt geändert von trainmen; 23.08.2008, 17:15.

                          Kommentar


                          • #14
                            Wenn ich dich richtig verstanden habe, solltest du dir foreach einmal anschauen. Das durchläuft alle Einträge eines Arrays ohne das du die genauen Keys kennen musst. Du kannst dir sogar noch die Keys holen:

                            PHP-Code:
                            <?php
                            foreach ($array as $key => $value) {
                                
                            var_dump($key$value);
                            }
                            ?>
                            Das sind aber grundlegende Dinge, du solltest eventuell deine Grundlagen auffrischen...

                            Kommentar

                            Lädt...
                            X