2017-04-11 104 views
1

我一直試圖讓這個「策劃遊戲」現在小時的工作,但即使array_intersect將無法​​正常工作,我就收到了第一個數組作爲新數組。比較兩個數組的相同值(和位置)?

我的兩個目標是:

  1. 正確位置的金額
  2. 金額正確的數字

代碼:

<?php 
     $counter = $_POST['counter']; 
     $eins = $_POST['eins']; 
     $zwei = $_POST['zwei']; 
     $drei = $_POST['drei']; 
     $vier = $_POST['vier']; 
     $fuenf = $_POST['fuenf']; 

     if($counter > 0){ 
      $elf = $_POST['elf']; 
      $zwoelf = $_POST['zwoelf']; 
      $dreizehn = $_POST['dreizehn']; 
      $vierzehn = $_POST['vierzehn']; 
      $fuenfzehn = $_POST['fuenfzehn']; 
     } 
     else{ 
      $elf = 0; 
      $zwoelf = 0; 
      $dreizehn = 0; 
      $vierzehn = 0; 
      $fuenfzehn = 0; 
     } 

     $inputeins[0] = $eins; 
     $inputeins[1] = $zwei; 
     $inputeins[2] = $drei; 
     $inputeins[3] = $vier; 
     $inputeins[4] = $fuenf; 
     $inputdrei[0] = $elf; 
     $inputdrei[1] = $zwoelf; 
     $inputdrei[2] = $dreizehn; 
     $inputdrei[3] = $vierzehn; 
     $inputdrei[4] = $fuenfzehn; 

     if($inputeins == $inputdrei){ 
      echo "<br><a href='ratespiel.html' style='font-size:100px;'>Gewonnen!</a>"; 
     } 
     else{ 
      if($counter < 12){ 
       echo "<form action='ratespielzwei.php' method='post'>"; 
       echo "Ziffern von Spieler 2:<br><br>"; 
       echo "<input type='number' name='counter' value='$counter' hidden>"; 
       echo "<input type='number' name='eins' value='$eins' hidden>"; 
       echo "<input type='number' name='zwei' value='$zwei' hidden>"; 
       echo "<input type='number' name='drei' value='$drei' hidden>"; 
       echo "<input type='number' name='vier' value='$vier' hidden>"; 
       echo "<input type='number' name='fuenf' value='$fuenf' hidden>"; 
       echo "<input type='number' min='1' max='5' name='sechs' style='width:30px;' required> "; 
       echo "<input type='number' min='1' max='5' name='sieben' style='width:30px;' required> "; 
       echo "<input type='number' min='1' max='5' name='acht' style='width:30px;' required> "; 
       echo "<input type='number' min='1' max='5' name='neun' style='width:30px;' required> "; 
       echo "<input type='number' min='1' max='5' name='zehn' style='width:30px;' required> "; 
       echo "<input type='submit' min='1' max='5' name='submitzwei' value='OK'><br><br>"; 
       echo "</form>"; 
      } 
      else{ 
       echo "<br><a href='ratespiel.html' style='font-size:100px;'>Verloren!</a>"; 
      } 
     } 

     if($counter > 0){ 
      foreach ($inputdrei as $ausgabe){ 
       echo "$ausgabe "; 
      } 

     } 
    ?> 

<?php 
     $counter = $_POST['counter']; 
     $i = $counter + 1; 
     $eins = $_POST['eins']; 
     $zwei = $_POST['zwei']; 
     $drei = $_POST['drei']; 
     $vier = $_POST['vier']; 
     $fuenf = $_POST['fuenf']; 
     $sechs = $_POST['sechs']; 
     $sieben = $_POST['sieben']; 
     $acht = $_POST['acht']; 
     $neun = $_POST['neun']; 
     $zehn = $_POST['zehn']; 

     $inputeins[0] = $eins; 
     $inputeins[1] = $zwei; 
     $inputeins[2] = $drei; 
     $inputeins[3] = $vier; 
     $inputeins[4] = $fuenf; 
     $inputzwei[0] = $sechs; 
     $inputzwei[1] = $sieben; 
     $inputzwei[2] = $acht; 
     $inputzwei[3] = $neun; 
     $inputzwei[4] = $zehn; 

     while($counter <= $i){ 
      $counter++; 
     } 

     if($inputeins == $inputzwei){ 
      echo "<br><a href='ratespiel.html' style='font-size:100px;'>Gewonnen!</a>"; 
     } 
     else{ 
      echo "<form action='ratespieleins.php' method='post'>"; 
      echo "Ziffern von Spieler 2:<br><br>"; 
      echo "<input type='number' name='counter' value='$counter' hidden>"; 
      echo "<input type='number' name='eins' value='$eins' hidden>"; 
      echo "<input type='number' name='zwei' value='$zwei' hidden>"; 
      echo "<input type='number' name='drei' value='$drei' hidden>"; 
      echo "<input type='number' name='vier' value='$vier' hidden>"; 
      echo "<input type='number' name='fuenf' value='$fuenf' hidden>"; 
      echo "<input type='number' min='1' max='5' name='elf' style='width:30px;' required> "; 
      echo "<input type='number' min='1' max='5' name='zwoelf' style='width:30px;' required> "; 
      echo "<input type='number' min='1' max='5' name='dreizehn' style='width:30px;' required> "; 
      echo "<input type='number' min='1' max='5' name='vierzehn' style='width:30px;' required> "; 
      echo "<input type='number' min='1' max='5' name='fuenfzehn' style='width:30px;' required> "; 
      echo "<input type='submit' name='submitdrei' value='OK'><br><br>"; 
      echo "</form>"; 
     } 

     foreach ($inputzwei as $ausgabe){ 
      echo "$ausgabe "; 
     } 
    ?> 
+1

你能不能給一個最小的工作示例,這樣我們就可以看到你的問題,不研究整個代碼? https://stackoverflow.com/help/mcve – user4035

+0

I'm仍然對於新手,但我添加了一個例子。說實話,我不知道如何實現我的兩個目標。 – blasthrop

+0

請不要發佈問題內部解決方案。爲此創建自己的答案。 – k0pernikus

回答

1

如果要比較的數值以及鑰匙(指數),可以使用array_intersect_assoc()

+0

好吧,這似乎工作,現在我必須找出如何正確使用這些信息。謝謝! – blasthrop

0

我能夠實現我的目標與array_intersect_assoc

$intersectnumbers = array_intersect($inputeins, $inputdrei); 
$intersectunique = array_unique($intersectnumbers); 
echo "<p>Anzahl richtiger Ziffern: " . count($intersectunique) . "</p>"; 

$intersectposition = array_intersect_assoc($inputeins, $inputdrei); 
echo "<p>Anzahl richtiger Positionen: " . count($intersectposition) . "</p>";