2016-12-27 1 views
-2

Also ich versuche, einen zufälligen String-Generator mit einer for-Schleife zu arbeiten. Ich habe es so in die Schleife bekommen, wie es sollte, aber es weigert sich, eine neue Zeichenkette pro Schleife zu erzeugen. Kann jemand meinen Code ansehen und mir zeigen, wo ich falsch gelaufen bin? Es gibt auch keine Möglichkeit, unqid zu verwenden, also bitte nicht erwähnen.For Schleife nicht zufällige Zeichenfolge, bleibt das gleiche

if($_SERVER['REQUEST_METHOD'] == "POST") 
{ 
    $key = $_POST['keysd']; 
    if(isset($key) && is_string($key)) 
    { 
     switch($key) 
     {  
      case "ksc"; 
      $algor = "78.0000.".rnumstr(7); 
      break; 

      case "kpl"; 
      $algor = "76.0000.".rnumstr(7); 
      break; 

      case "kfi"; 
      $algor = "D01EB0A01472".rnumstr(1).strtoupper(ralphstr(3)); 
      break; 
     } 

      $sum = $_POST['sum']; 
      $alg = $algor; 
      if(isset($sum)) 
      { 
       for ($i = 0; $i < $sum; $i++) 
       { 
        echo $alg.'<br/>'; 
       } 
      } 
    } 
} 
+3

was sind 'rnumstr' und' ralphstr' tun? kann das Problem ohne ein vollständiges Beispiel nicht reproduzieren. –

+0

rnumstr generiert eine Zufallszahlenfolge und ralphstr generiert eine zufällige alphabetische Zeichenfolge – c0d3x1337

Antwort

1

Wenn Sie einen neuen $ alg pro Schleife erzeugen wollen, müssen Sie bei jeder Iteration den Code Ihres Switches aufrufen. Refactor Ihr Code:

function getRandomValue($key) 
{ 
    switch($key) 
    {  
     case "ksc": 
      return "78.0000.".rnumstr(7); 

     case "kpl": 
      return "76.0000.".rnumstr(7); 

     case "kfi": 
      return "D01EB0A01472".rnumstr(1).strtoupper(ralphstr(3)); 
    } 
} 

if($_SERVER['REQUEST_METHOD'] == "POST") 
{ 
    $key = $_POST['keysd']; 
    if(isset($key) && is_string($key)) 
    { 
      $sum = $_POST['sum']; 
      if(isset($sum)) 
      { 
       for ($i = 0; $i < $sum; $i++) 
       { 
        $alg = getRandomValue($key); 
        echo $alg.'<br/>'; 
       } 
      } 
    } 
} 
+0

Warum machst du eine Rückkehr, aber nicht die Fälle brechen? Das verwirrt mich. – c0d3x1337

+1

Wenn Sie zurückkehren, verlassen Sie die Funktion, Sie brauchen keine Pause. Hast du wirklich "15+ Jahre Programmiererfahrung" ..? – nbrogi