Jeden Wert eines Arrays mit jedem multiplizieren

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

  • Jeden Wert eines Arrays mit jedem multiplizieren

    Hallo,

    ich brauch mal einen kleinen Denkanstoß, denn ich möchte folgenden tun:
    PHP-Code:
    Array
    (
        [
    0] => Array
            (
                [
    0] => eins
                
    [1] => zwei
                
    [2] => drei
            
    )

        [
    1] => Array
            (
                [
    0] => one
                
    [1] => two
                
    [2] => three
            
    )

        [
    2] => Array
            (
                [
    0] => alpha
                
    [1] => beta
                
    [2] => omega
            
    )


    Jetzt möchte ich jedes Element des Array[0] mit jedem Element des Array[1], sowie des Array[2] assozzieren.

    Beispielsweise:
    eins one alpha
    eins one beta
    eins one omega
    eins two alpha
    eins two beta
    ... usw.

    Das ganze soll natürlich (damit es schwer wird) dynamisch sein, sonst füge ich das ganze in eine Schleife ein:

    foreach ($array[0] = $value) {
    foreach ($array[1] = $value1) {
    foreach ($array[2] = $value2) {
    }
    }
    }

    Wie könnte ich aber die Schleife dynamisch gestalten, also abhängig von der Länge des Array? Da hab ich noch keine Idee?

    Als Funktion, die sich selbst aufruft? Aber wie?

    Danke für eure Anregungen, Grüße Michael.
    Zuletzt geändert von francosdad; 11.09.2009, 15:01.

  • #2
    was willst du denn damit bezwecken?
    it's not a bug,
    it's a feature!

    Kommentar


    • #3
      Ich möchte Wortkombinationen erschaffen.

      Kommentar


      • #4
        Hallo Michael,

        da dein Kreuzprodukt dem Assoziativgesetz unterliegt, kannst du das ganz leicht lösen:

        Du kreuzt die ersten beiden Arrays A1 und A2 und erhältst das Ergebnis E1. Das kreuzt du mit A3 und erhältst E2. Dann kreuzt du immer E[n-2] mit A[n] und erhältst E[n-1].

        Gruß,

        Anja
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Kommentar


        • #5
          PHP-Code:
          function  perm_2_dim(Array $array)
          {

              
          $result = array();
              foreach(
          $array as $subarray)
              {
                
          $zwischenlager = array();
                if(empty(
          $result))
                  foreach(
          $subarray as $element)
                    
          $zwischenlager[] = array($element);
                else
                  foreach(
          $result as $alte)
                    foreach(
          $subarray as $element)
                      
          $zwischenlager[] = array_merge($alte,array($element));
                
          $result $zwischenlager;
              }
              return 
          $result;
            } 
          Zuletzt geändert von Kropff; 11.09.2009, 14:37.
          Wir werden alle sterben

          Kommentar


          • #6
            Das Sternchen musst du dir weg denken..
            Kann nicht editieren, davon werden es nur mehr...
            Wir werden alle sterben

            Kommentar


            • #7
              Zitat von combie Beitrag anzeigen
              Das Sternchen musst du dir weg denken..
              Kann nicht editieren, davon werden es nur mehr...
              OffTopic:
              Weg ist es.

              Peter
              Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
              Meine Seite

              Kommentar


              • #8
                Hat übrigens super Funktioniert.

                Vielen Dank.
                Grüße Michael

                Kommentar

                Lädt...
                X