[PHP] 2 Arrays in einer Schleife abgleichen

Dieses Thema im Forum "Webentwicklung" wurde erstellt von x69, 14. September 2009 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 14. September 2009
    2 Arrays in einer Schleife abgleichen

    High~,

    ich hab mal wieder ne Frage:

    Ich habe uploaded.to Links bereits durch eine Textbox in einem Array gespeichert ($links), jetzt will ich anhand des uploaded.to links (Schema immer gleich http://ul.to/ID/_INTERPRETEN-_TITEL.mp3)
    eben den Interpreten und den Titel herausfiltern und diese extern speichern - Jedoch muss ich die Links später wieder zuweisen können sprich:

    http://ul.to/ID/Fred_-_Konkret.mp3 -> Fred - Konkret.

    Das herausfiltern eines einzelnen Link mit preg_match & explode hab ich soweit hinbekommen nur weiß ich nicht wie ich mit den Schleifen umgehen muss damit ich beides am Ende wieder zuordnen kann.

    Danke schonmal für die Hilfe

    Gruß x69
     
  2. 14. September 2009
    AW: 2 Arrays in einer Schleife abgleichen

    Werden die Links auch gespeichert? Wie wäre es mit einem Ausschnitt aus deinem Quellcode.
    Wenn alles gespeichert wird, empfiehlt sich eine Datenbank. Ansonsten kannst du mit $links[$i] auf jeden beliebigen Wert des Arrays zugreifen und dann erstellst du einfach einen zweiten Array, mit "Interpret - Titel", dem du passend zu $links die Werte zuweist.

    PHP:
    for ( $i = 0 ; $i < $anzahlderlinks ; $i ++) {  #musst ja keine forschleife nehmen
    $titelinterpret [ $i ]= interpretundtitel ( links [ $i ]);  #du übergibst deiner funktion die elemente aus $links und speicherst im zweiten array mit gleichen indizees interpret und titel
    }
     
  3. 14. September 2009
    AW: 2 Arrays in einer Schleife abgleichen

    Oder du machst einen Array für beides

    PHP:
    $files  = array(
      array(
    "url"  =>  "..." "title"  =>  "Fred" ),
      array(
    "url"  =>  "..." "title"  =>  "Hans" ),
      array(
    "url"  =>  "..." "title"  =>  "Wurst" )
    );
     
  4. 14. September 2009
    AW: 2 Arrays in einer Schleife abgleichen

    Das Problem an der Sache ist das ich dann beides in einem Array haben werde , und ich garnicht weiß wie ich denn Uploaded-Link A zu Interpret A zuweisen soll.

    PHP:
    $links  explode ( "\n" $_POST [ 'links' ]);
    $titel  preg_match ( '&http://uploaded.to/file/(.*)/(.*).mp3&is' $links $titel );
    Dann hab ich halt im Array $links die ganzen Links drin und im Array $titel[2] den Titel und den Interpreten.
     
  5. 14. September 2009
    AW: 2 Arrays in einer Schleife abgleichen

    Und wenn du zum Beispiel dann mit array_combine arbeitest?

    Müsste dann so aussehen
    PHP:
    $files [ 'http://uploaded.to/...' ] =  "Fred beim ..." ;
    Kommt halt darauf an, ob/wie du nachher noch die Daten weiterverarbeiten willst ^^
     
  6. 14. September 2009
    AW: 2 Arrays in einer Schleife abgleichen

    Danke erstmal für die Antworten werde das erstmal ausprobieren, Ja ich möchte beide Werte in einer Funktion wieder benutzen und zwar alle im Array und nicht nur 1 Paar von
    Link + Interpret_-_Titel!

    Also möchte ich dann in einer Schleife später alle Werte zusammen in einer Liste ausgeben:
    Ul.to Link - Titel - Interpret
    Ul.to Link - Titel - Interpret
    Ul.to Link - Titel - Interpret
    [...]
     
  7. 14. September 2009
    AW: 2 Arrays in einer Schleife abgleichen

    befasse dich mit mehrdimensionalen arrays

    PHP:
    <? php
    #Beispiel
    $links [ 0 ][ 0 ]= "http://ul.to/ID/Fred_-_Konkret.mp3" ;
    $links [ 0 ][ 1 ]= "Fred" ;
    $links [ 0 ][ 2 ]= "Konkret" ;

    #Zugriff/Ausgabe
    for ( $i = 0 ; $i < $anzahl_aller_links ; $i ++) {
      for (
    $j = 0 ; $j < 3 ; $j ++) {
        
    #$links[$i][$j] ausgeben (kannste ja noch formatieren)
      
    }
      
    #zeilenumbruch oder whatever...je nach ausgabe
    }
    ?>
     
  8. 15. September 2009
    AW: 2 Arrays in einer Schleife abgleichen

    Okay das beispiel gefällt mir am besten und funktioniert auch soweit, nur weiß ich nicht wie
    das:
    PHP:
    #Beispiel
    $links [ 0 ][ 0 ]= "http://ul.to/ID/Fred_-_Konkret.mp3" ;
    $links [ 0 ][ 1 ]= "Fred" ;
    $links [ 0 ][ 2 ]= "Konkret" ;
    .
    wieder in eine Schleife packe.

    //Update:
    Habe jetzt alles so gefiltert das ich Interpreten und Titel in einem Array drin habe:
    $interpret = $datei[0];
    $titel = $datei[1];

    jetzt muss ich nur noch wissen wie ich das allesammt bei einer liste von 5 Links z.B durcharbeiten kann.
     
  9. 17. September 2009
    AW: 2 Arrays in einer Schleife abgleichen

    foreach($links as $id => $data) {
    $link = $data[0];
    $interpret = $data[1];
    $title = $data[2];
    }
     
  10. 17. September 2009
    AW: 2 Arrays in einer Schleife abgleichen

    foreach($links as $id => $data) {
    list($link, $interpret, $title, $nochwas1, $nochwas2) = $data;
    }

    grundlagen -> closed
     
  11. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.