tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von Yaslaw
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
385
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    JesusFreak777 JesusFreak777 ist offline Mitglied Brokat
    Registriert seit
    Nov 2007
    Beiträge
    255
    Hi ihr,

    ich habe Zwei Array,...

    ein Array gibt eine Sortierreihenfolge von ID´s aus,...

    Code :
    1
    2
    3
    4
    5
    
    Array
    (
        [1] => 5
        [2] => 2
    )
    ... es kann auch wie im beispiel sein das nummern fehlen d.h. das als erstes nichts ausgegeben wird,... (muss ggf noch nachgefüllt werden? wenn ja wie?)

    im zweiten Array sind lauter werte und vorallem die ID´s,... mein Problem besteht darin das es sich um ein Multidiemensionales Array handelt und ich nicht genau weiß wie ich jetzt herausfinde in welchen Unterarray Gruppe ID die selbe ID ist wie im Sortierarray gerade vorgegeben wird,...

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    
    Array
    (
        [1] => Array
            (
                [ID] => 2
                [bg] => wert 17
            )
     
        [0] => Array
            (
                [ID] => 5
                [bg] => wert 39
            )
     
    )


    wie kann ich jetzt (momentan habe ich eine foreachschleife, bin aber auch für anderes offen), meine z.B. bg werte ausgeben?

    Ziel ist: es soll ausgegeben werden (nach beispiel Arrays)
    erste [0] Zeile: -
    zweite [1] Zeile: wert 39
    dritte [2] Zeile: wert 17

    kann man das verstehen was ich meine?

    Danke für eure hilfe
     

  2. #2
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Am einfachsten machst du aus dem 2ten Array ein einfacheren array
    Code :
    1
    2
    3
    4
    5
    
    $werteIndex:
    array(
      [2] => wert 17
      [5] => wert 39
    )

    Dann kannst du direkt mit dem Wert von Array1 zugreifen
    PHP-Code:
    //Wertearray aufbauen
    foreach($array_2 as $item){
        
    $werteIndex[$item['ID']] = $item['bg']; 
    }
    //Aus array1 die Werte aus dem wertearray auslesen
    foreach($array_1 as $id){
        echo 
    $werteIndex[$id].'<br />';

     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  3. #3
    JesusFreak777 JesusFreak777 ist offline Mitglied Brokat
    Registriert seit
    Nov 2007
    Beiträge
    255
    Hi,

    danke für die Antwort,... aber ich weiß nicht genau wie ich das hinbekomme,...

    wir mein 2. Array so erzeugt:

    $array2 = array(); //einfach mal ein Array erzeugen

    schleife ($array -> $key & $value) ein anderes Array wird gelistet
    {
    array_push( $array2, funktion($array[$key][id]; $wert1; $wert2; wert3,...)) //die Funktion rechnet mir ein paar Werte um und fügt neue hinzu,... unteranderem übergebe ich auch eine ID,...
    }

    daraus folgt so ein komisches Array,...

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    
    Array
    (
        [0] => Array
            (
                [ID] => 1
                [bg] => 0
                [lg] => 52.083333333333
                [ed] => 47.916666666667
            )
     
        [1] => Array
            (
                [ID] => 5
                [bg] => 0
                [lg] => 99.998842592593
                [ed] => 0.0011574074074048
            )
     
        [2] => Array
            (
                [ID] => 2
                [bg] => 52.083333333333
                [lg] => 47.915509259259
                [ed] => 0.0011574074074048
            )
     
    )

    Im zweiten Array stehen dann alle id´s die ich brauche und auch in der Reihenfolge wo ichs brauche,...

    Ich bin gerne bereit meinen Arrayaufbau (für array2) umzumodeln,... aber wie?
     

  4. #4
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Mach anstelle des array_push() eine zuordnung mit der id als key

    PHP-Code:
    foreach(...){
        
    $array2[$array[$key][id]] = funktion($array[$key][id], $wert1$wert2wert3,...);

    der $array2 sieht dann so aus (achte auf die keys)
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    
    Array
    (
        [1] => Array
            (
                [ID] => 1
                [bg] => 0
                [lg] => 52.083333333333
                [ed] => 47.916666666667
            )
     
        [5] => Array
            (
                [ID] => 5
                [bg] => 0
                [lg] => 99.998842592593
                [ed] => 0.0011574074074048
            )
     
        [2] => Array
            (
                [ID] => 2
                [bg] => 52.083333333333
                [lg] => 47.915509259259
                [ed] => 0.0011574074074048
            )
     
    )

    Und somit kannst du nachher in der Ausgabe direkt vom Sortierarray auf $array2 zugreiffen

    PHP-Code:
    foreach($array1 as $id){
        echo 
    'bd: '.$array2[$id]['bg'].'<br />';
        
    //TODO: Dasselbe mit lg und ed

    JesusFreak777 bedankt sich. 
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  5. #5
    JesusFreak777 JesusFreak777 ist offline Mitglied Brokat
    Registriert seit
    Nov 2007
    Beiträge
    255
    eigentlich ganz einfach (zumindest einfacher als ich das machte ),...

    Danke
     

Ähnliche Themen

  1. Antworten: 1
    Letzter Beitrag: 24.02.11, 10:04
  2. Werte in Array schreiben
    Von ltPerly im Forum Visual Basic 6.0
    Antworten: 4
    Letzter Beitrag: 22.02.06, 16:36
  3. Je nach Array-eintrag neues array erstellen
    Von ElGrAnDiOs im Forum PHP
    Antworten: 2
    Letzter Beitrag: 25.11.05, 12:17
  4. Antworten: 8
    Letzter Beitrag: 01.08.04, 11:23
  5. Alle Werte in Selectfeld anwählen
    Von antihero im Forum Javascript & Ajax
    Antworten: 12
    Letzter Beitrag: 03.12.03, 13:01

Stichworte