Vertrackte Arraysuche

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

  • Vertrackte Arraysuche

    Ich habe ein zweidimensionales Array der z.B. so aussieht:

    [DOCUMENT] => Array
    (
    [EAN] => 190195
    [REFERENCE] => 189122
    [SYSTEM_ID] => 8
    [REGION_ID] => 3
    [CATEGORY_ID] => 1
    [US] => -1
    [GENRE1] => 5
    [GENRE2] => 7
    [GENRE3] => 6
    )
    )

    Ich moechte nun bei einer Genre-Selectbox die optionen 5,7,6 vorselektieren da diese im Array zugewiesen sind. Koennen auch mal mehr GENREx sein im Array, ist also variabel.

    Pseudocode maessig waere das dann sowas

    PHP-Code:
    while (selectionbox_eintraege durchgeh'){
    if (der aktuelle select_entry stimmt mit einem der GENREx überein)
        select selektieren;


    Was mir jetzt Kopfzerbrechen bereitet ist der Teil in der IF-Klausel... Weiss jemand wie ich das am besten anstelle? array_search mit regexp vielleicht ? Oder gehts einfacher?

    gruss und danke
    Rocco

  • #2
    Re: Vertrackte Arraysuche

    ich würde zunächst aus dem ausgangs-array die genre-ids extrahieren und in einem extra array ablegen (array mit foreach() durchlaufen, wenn key mit "GENRE" anfängt, dann wert ins neue array).

    damit hättest du im neuen array die werte 5, 6, 7.

    und in deiner while-schleife kannst du jetzt ganz einfach mit in_array() abfragen, ob die aktuelle genre-ID in diesem array enthalten ist.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Danke, ich hab das jetzt mal so gemacht:

      PHP-Code:
      $keys=array_keys($product["DOCUMENT"]);
              foreach(
      $keys as $vals){
                  if (
      eregi("GENRE",$vals)){
                      
      $arr_genre[]=$product["DOCUMENT"][$vals];
                  }
      }

      while(
      selectoptionen durchgeh)){
                  if (
      in_array(selectvalue,$arr_genre)){
                       
      $sel->select();
                  }
              } 
      Klappt! Danke

      Rocco
      Zuletzt geändert von Rocco; 24.09.2004, 22:56.

      Kommentar

      Lädt...
      X