hilfdirselbst.ch
Facebook Twitter gamper-media
blueillusion
Beiträge: 12
17. Jun 2003, 14:00
Beitrag #1 von 5
Bewertung:
(870 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

variablen zurücksetzten ?


hallo

ich habe folgendes kleines script das eigentlich ganz gut funktioniert:

$myRandom = rand (1, 2);

if ($myRandom = 1) {

$myColor = "green";

} else {

$myColor = "orange";

}

nur wenn ich im browser ein refresh mache kommt immer der gleiche variablen wert. es scheint mir als ob $myRandom nach dem ersten mal ausführen immer den gleichen wert behält.

jemand eine idee was ich falsch mache?

gruss
Top
 
X
Pozor  M 
Beiträge: 892
17. Jun 2003, 14:42
Beitrag #2 von 5
Beitrag ID: #39816
Bewertung:
(870 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

variablen zurücksetzten ?


hallo,

ich habe dein skript nicht probiert aber zur sicherheit solltes du immer srand() vor der Funktion rand() ausführen, um sicherzustellen, dass rand mit einem anderen startwert seine pseudozufallszahl erechnet. ev könnte es an diesem liegen.

gruss Pozor

PS: ist der effekt der selbe wenn du die variable vor der zuweisung mit unset() löschst?
als Antwort auf: [#39808] Top
 
oesi50  A  S
Beiträge: 2315
17. Jun 2003, 17:14
Beitrag #3 von 5
Beitrag ID: #39860
Bewertung:
(870 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

variablen zurücksetzten ?


hi blue,
probier mal das:
<?
srand (); # Nur einmal beim Programmstart verwenden
$myRandom = rand (0,1);
$myColors = Array("green","orange");
echo $myColors[$myRandom];
?>
Das sieht aber nicht so ganz zufällig aus, weil bei 2 Zufallszahlen die Wahrscheinlichkeit 50-50 ist, dass sie auch wirklich wechseln.
Bsp: Casino rot-rot-rot-schwarz-rot-rot-rot-schwarz-...
Grüße Oesi
PS: bei Vergleichsoperatoren nimm bitte immer == statt =.
als Antwort auf: [#39808]
(Dieser Beitrag wurde von oesi50 am 17. Jun 2003, 17:17 geändert)
Top
 
Pozor  M 
Beiträge: 892
17. Jun 2003, 18:18
Beitrag #4 von 5
Beitrag ID: #39880
Bewertung:
(870 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

variablen zurücksetzten ?


hallo,

das was osi gesagt hat deckt dein fehler auf..
dein code stimmt bis auf eine kleinigkeit
if ($myRandom = 1) ist falsch:
es hat den effekt dass die bedingung immer ok ist und das $myRandom immer 1 ist, da ihm 1 zugewiesen wird..

richtig ist natürlich
if ($myRandom == 1)

kleiner tipp um solch fehler zu vermeiden:

schreibe bedingungen immer so:

if (1 == $myRandom)
ist dasselbe wie oben, nur wenn ein = vergessen wird meldet es der PHP-parser und so erkennt man schnell flüchtigkeitsfehler..

gruss Pozor

so ist alles ok:

srand();
$myRandom = rand (1, 2);

if (1 == $myRandom)
{
$myColor = "green";
}
else
{
$myColor = "orange";
}
als Antwort auf: [#39808]
(Dieser Beitrag wurde von Pozor am 17. Jun 2003, 18:20 geändert)
Top
 
blueillusion
Beiträge: 12
18. Jun 2003, 12:22
Beitrag #5 von 5
Beitrag ID: #40002
Bewertung:
(870 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

variablen zurücksetzten ?


hallo allerseits.

vielen dank für die hilfe! die seite funktioniert.

gruss

als Antwort auf: [#39808] Top
 
X