Atom Waffel: Array Shuffle()

Hallo ihr da draußen,

ich versuche mich gerade mit php anzufreunden, also nicht allzuviel voraussetzen ;)

Folgendes Problem:
ich speicher 8 Variablen (die einen $_POST[""]-Wert enthalten;Name $a bis $h; Strings) in einem Array:

  
$array = array(  
"$a",  
"$b",  
"$c",  
"$d",  
"$e",  
"$f",  
"$g",  
"$h"  
);  

gleich geh ich auch mit den variablen $a2 bis $h2 (die einen $_POST[""]-Wert enthalten; Zahlen);

  
  
$array2 = array(  
"$a2",  
"$b2",  
"$c2",  
"$d2",  
"$e2",  
"$f2",  
"$g2",  
"$h2"  
);  

Nun mischle ich $array:

  
$sort = shuffle($array);  

Beispielergebnis:

  
$array = array(  
"$f",  
"$b",  
"$c",  
"$a",  
"$e",  
"$f",  
"$d",  
"$h",  
"$g"  
);  

soweit so gut.

nun will ich wenn wie im Beispiel $a an 4 stelle steht, dass im array $array2 $a2 auch an 4 stelle steht gleich auch mit:

$b --> $b2

$c --> $c2

$d --> $d2

$e --> $e2

$f --> $f2

$g --> $g2

$h --> $h2

wie kann ich das verwirklichen???

Mit freundlichen Grüßen,
Atom Waffel

  1. Hi!

    ich versuche mich gerade mit php anzufreunden,

    also solltest Du dich nicht zu früh freuen;)

    also nicht allzuviel voraussetzen ;)

    Nein.

    Folgendes Problem:
    ich speicher 8 Variablen (die einen $_POST[""]-Wert enthalten;Name $a bis $h; Strings) in einem Array:

    Warum? Diese Werte stehen doch bereits im superglobalen Bereich zur Verfügung, oder wie meintest du das?

    Den Rest Deines postings habe ich leider nicht verstanden :(

    off:P'Posting mehrfach lesend'P

    --
    "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
    1. Hallo,

      Den Rest Deines postings habe ich leider nicht verstanden :(

      Und ich hab mich so bemüht alles genau zu erklären :(

      Einfach gesagt (aber trotdem komplizeirt^^)
      ich will einfach 8 variablen untereinander mischeln
      und dann in zufälliger reihenfolge ausgeben.
      Das mach ich so:

        
      $array = array(  
      "$a",  
      "$b",  
      "$c",  
      "$d",  
      "$e",  
      "$f",  
      "$g",  
      "$h"  
      );  
        
      $sort = shuffle($array);  
      
      

      Nur als BEISPIEL sieht das Array dannach so aus:

      $array = array(
      "$f",
      "$b",
      "$c",
      "$a",
      "$e",
      "$f",
      "$d",
      "$h",
      "$g"
      );

      Wie man erkennen kann ist $a jetzt die vierte Variabel (anstatt die erste) im Array.

      Jetzt will ich dass ein zweites Array auf die Selbe weise gemischelt wird also das (nach unserem BEISPIEL) die variable $a2 auch die vierte Variable ist.

      Jetzt verstanden?

      Mit freundlichen Grüßen,
      Atom Waffel

      1. Hallöchen,

        interessanter Plan. Dürfte aber nur mit einem 2-dimensionalen Array funktionieren, da laut Funktionsbeschreibung "Bestehende Schlüssel ... werden entfernt statt einfach nur die Schlüssel neu anzuordnen".

        Heißt die Werte müssten vor shuffle() so abgelegt werden:

          
        $array = array(  
          array($a,$a2),  
          array($b,$b2),  
          array($c,$c2),  
          array($d,$d2),  
          array($e,$e2),  
          array($f,$f2),  
          array($g,$g2),  
          array($h,$h2),  
        );  
        
        >   
        > $sort = shuffle($array);  
        > 
        
        

        Jetzt will ich dass ein zweites Array auf die Selbe weise gemischelt wird also das (nach unserem BEISPIEL) die variable $a2 auch die vierte Variable ist.

        $sort[3][0] enthält dann $a
        $sort[3][1] enthält dann $a2

        Die "4. Position" ist über die "3" in der ersten [] definiert (weil die numerische Indizierung nun mal bei "0" beginnt).

        <hinweis>Die Schreibweise "$a" ist in diesem Zusammenhang überflüssig, $a reicht.</hinweis>

        MfG
        vaudi

        1. Hallo,

          danke vaudi endlich jmd der meinen Plan verstanden hat^^.
          super lösung danke.

          Mit freundlichen Grüßen,
          Atom Waffel

      2. Hi!

        Jetzt verstanden?

        Nimm zwei Array mit identischen Indices!

        off:PP

        --
        "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
        1. Hallöchen,

          Nimm zwei Array mit identischen Indices!

          ... die von shuffle() durch zufällige neue Indices überschrieben werden?! Und das 2x hintereinander der Zufallsgenerator die gleiche Sortierreihenfolge ausgibt, kann ich mir nicht vorstellen.

          MfG
          vaudi

          1. Hi!

            <del>Nimm zwei Array mit identischen Indices!</del>

            ... die von shuffle() durch zufällige neue Indices überschrieben werden?! Und das 2x hintereinander der Zufallsgenerator die gleiche Sortierreihenfolge ausgibt, kann ich mir nicht vorstellen.

            Nach nochmaligem Lesen dieses Threads muß ich feststellen: ich hatte das Anliegen des OP nicht verstanden - also wird meine Antwort getrichen!

            off:PP

            --
            "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)