Jeden Wert eines Arrays mit jedem multiplizieren

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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.
    Last edited by francosdad; 11-09-2009, 14:01.

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

    Comment


    • #3
      Ich möchte Wortkombinationen erschaffen.

      Comment


      • #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]

        Comment


        • #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;
            } 
          Last edited by Kropff; 11-09-2009, 13:37.
          Wir werden alle sterben

          Comment


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

            Comment


            • #7
              Originally posted by combie View Post
              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

              Comment


              • #8
                Hat übrigens super Funktioniert.

                Vielen Dank.
                Grüße Michael

                Comment

                Working...
                X