2016-12-22 2 views
0


Ich möchte ein Array in PHP mit 4 Elementen erstellen (zum Beispiel "A , "x") und geben diese Buchstaben in zufälliger Reihenfolge aus, bevor sie ein Wort "Alex" erstellen, nachdem das Array angehalten wurde. So sollte es so etwas ausgeben: Axel, leAx, xAle, ... Alex! Ich habe herausgefunden, wie zufällige Elemente aus Array ausgegeben werden, aber es funktioniert nicht mit 4 Elementen für mich, und ich weiß nicht, wie man eine Schleife damit erstellt.PHP: Ausgabe von Elementen aus dem Array in zufälliger Reihenfolge, bevor sie ein bestimmtes Wort erstellen

<?php 
$name = array("A","l","e","x"); 
$rand_keys = array_rand($name, 2); 
echo $name[$rand_keys[0]]; 
echo $name[$rand_keys[1]]; 
?> 

dies zur Zeit gibt 2 zufällige Elemente und ich bin hier stecken (
helfen Bitte

+0

Es gibt wohl mehrere Antworten auf diese Frage bereits auf Stack-Überlauf sind. – Sethmr

+0

Verwenden Sie $ rand_keys = array_rand ($ name, 4); Dies wird vier zufällige Elemente auswählen. Aber wenn Sie alle Elemente jedes Mal möchten, können Sie shuffle() ausprobieren. –

Antwort

1

Verwenden shuffle die Reihenfolge der Elemente in einem Array (siehe http://php.net/manual/en/function.shuffle.php) neu zu ordnen. Da dies das ursprüngliche Array ändert Sie sollten zunächst eine Kopie erstellen. Dann implode verwenden, um eine Zeichenfolge aus dem Array zu erstellen (siehe http://php.net/manual/en/function.implode.php). auf die gleiche Weise speichern alle schlurfte Namen und verwenden implodieren sie zu einer einzigen Zeichenfolge durch Komma getrennt verketten.

<?php 
$name = array("A","l","e","x"); 
$name_shuffled = $name; 
$list_of_names = array(); 
do{ 
    shuffle($name_shuffled); 
    $list_of_names[] = implode($name_shuffled); 
} while ($name !== $name_shuffled); 
echo(implode(', ', $list_of_names)); 
echo('!'); 
?> 
1

Shuffle es, gut ..

<?php 
$name = array("A","l","e","x"); 
$copy = $name; 
do{ 
shuffle($copy); 
print_r($copy); 
}while($name !== $copy); 
?> 
0

etwas für mich arbeiten, aber nicht für Array für Array muss wenig diesen Code für Ihren Job ändern. sehen meine Idee

<html> 
 
<head> 
 
</head> 
 
    <body> 
 
    <table align='center' style='width: 100%; height: 30;'> 
 
<tr> 
 
<?php 
 
\t ini_set('error_reporting', E_ALL); 
 
    ini_set('display_errors', true); 
 
include ('data/data.php'); 
 

 
/* Call data from weather database */ 
 
$data = "$WeatherIcon"; 
 

 
/* seperate weather condition icons to number */ 
 
if(preg_match('(clear.png)', $data) === 1) { $datatest=0; } 
 
if(preg_match('(mostlycloudy.png)', $data) === 1) { $datatest=1; } 
 
if(preg_match('(partlycloudy.png)', $data) === 1) { echo $datatest=2; } 
 
if(preg_match('(rain.png)', $data) === 1) { echo $datatest=3; } 
 
if(preg_match('(nt_mostlycloudy.png)', $data) === 1) { $datatest=4; } 
 
if(preg_match('(nt_cloudy.png)', $data) === 1) { $datatest=5; } 
 

 
/* a:{ΔΕΝ Βρέχει =0 ,Βρέχει =1}*/ 
 
    if ($datatest <= 0 && $Rain_Rate <= 0 && $Temp <= 0 && $Temp >= -1) echo "GOOD WEATHER WITH COLD AND SOME ICE"; 
 
elseif ($datatest <= 0 && $Rain_Rate <= 0 && $Temp >= 0 && $Temp < 5) echo "GOOD WEATHER WITH COLD"; 
 
elseif ($datatest <= 0 && $Rain_Rate <= 0 && $Temp >= 5 && $Temp < 10) echo "GOOD WEATHER WITH SOME COLD"; 
 
elseif ($datatest <= 0 && $Rain_Rate <= 0 && $Temp >= 10 && $Temp < 20) echo "GOOD WEATHER WITH NORMAL TEMP"; 
 
elseif ($datatest <= 1) echo "GOOD WEATHER WITH MOSTLY CLOUD AND COLD"; 
 
elseif ($datatest <= 2) echo "GOOD WEATHER WITH PARTLY CLOUD AND COLD "; 
 
elseif ($datatest <= 3) echo "RAINY DAY"; 
 
elseif ($datatest <= 4) echo "<td bgcolor='#99ff99' align='center' style='width: 800px; height: 30;'>NIGHT GOOD WEATHER WITH MOSTLY CLOUD AND COLD</td>"; 
 
elseif ($datatest <= 5) echo "<td bgcolor='#99ff99' align='center' style='width: 800px; height: 30;'>NIGHT CLOUDY WEATHER WITH COLD</td>"; 
 
?> 
 
</tr> \t 
 
\t \t </table> 
 
\t </body> 
 
</html>

Verwandte Themen