Ankündigung

Einklappen
Keine Ankündigung bisher.

2 Arrays kombinieren

Einklappen

Neue Werbung 2019

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

  • 2 Arrays kombinieren

    Hi,

    habe leider nichts passendes gefunden.

    Ich muss 2 assoziative Arrays anhand von einem Schlüssel kombinieren:

    array 1:
    id titel parentID
    1 titel 0
    2 titel 0
    3 titel 1
    und:
    array 2:
    id anzahl
    1 17
    3 34
    2 19
    Und ich würde gerne die Arrays über die ID kombinieren:

    Gewünschtes Ergebnis Array:
    id titel parentID anzahl
    1 titel 0 17
    2 titel 0 19
    3 titel 1 34
    Klappt das irgendwie?
    Mit den eingebauten PHP Funktionen geht das ja nicht, oder?
    Habe zumindest keine passende gefunden


  • #2
    so was? array_combine()

    ansonsten stehen hier ja alle array Funktionen:Array Funktionen
    Wie man Fragen richtig stellt

    Kommentar


    • #3
      Ja, die Doku kenne ich schon.

      Ich finde da nur keine Funktion um 2 assoziative Arrays anhand eines Elementes zu kombinieren.

      Kommentar


      • #4
        Ich bin mir ziemlich sicher, dass du einen eigenen Algorithmus entwickeln musst. Außerdem kann ich in deiner Beschreibung keinen direkten Zusammenhang von zwei Arrays erkennen, wenn das Feld eines Arrays zur Identifizierung eines Indexes eines anderen Arrays dienen soll.
        If you read this message backward, Satan will force you to smoke marijuana.
        Gute Tutorials

        Kommentar


        • #5
          War einfacher als ich dachte:

          Code:
          $finalKategorien = array ( );
          foreach ( $Kategorien as $Kat )
          {
          	$Kat['Anzahl'] = 0;
          	foreach ( $AnzahlArtikel as $AnzArt )
          	{
          		if ( $AnzArt['KategorieID'] == $Kat['ID'] )
          		{
          			$Kat['Anzahl'] = $AnzArt['Anzahl'];
          		}
          	}
          	$finalKategorien[] = $Kat;
          }

          Kommentar


          • #6
            PHP-Code:
            <?php
            $sql1 
            "SELECT id, titel, parentID FROM tabelle_1";
            $res1 mysql_query($sql1);
            while (
            $cur1 mysql_fetch_assoc($res1)) {
              
            $array[$cur1['id']] = $cur1;
            }
            $sql2 "SELECT id, anzahl FROM tabelle_2";
            $res2 mysqlquery($sql2);
            while (
            $cur2 mysql_fetch_assoc($res2)) {
              
            $array[$cur2['id']] = array_merge($array[$cur2['id']], $cur2);
            }  
            ?>
            Das wird Notices werfen, die kannst du aber selbst beheben

            Kommentar

            Lädt...
            X