[GastForen Programmierung/Entwicklung PHP und MySQL variablen zurücksetzten ?

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

variablen zurücksetzten ?

blueillusion
Beiträge gesamt: 12

17. Jun 2003, 14:00
Beitrag # 1 von 5
Bewertung:
(1087 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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
X

variablen zurücksetzten ?

Pozor
Beiträge gesamt: 892

17. Jun 2003, 14:42
Beitrag # 2 von 5
Beitrag ID: #39816
Bewertung:
(1087 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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]

variablen zurücksetzten ?

oesi50
  
Beiträge gesamt: 2315

17. Jun 2003, 17:14
Beitrag # 3 von 5
Beitrag ID: #39860
Bewertung:
(1087 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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)

variablen zurücksetzten ?

Pozor
Beiträge gesamt: 892

17. Jun 2003, 18:18
Beitrag # 4 von 5
Beitrag ID: #39880
Bewertung:
(1087 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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)

variablen zurücksetzten ?

blueillusion
Beiträge gesamt: 12

18. Jun 2003, 12:22
Beitrag # 5 von 5
Beitrag ID: #40002
Bewertung:
(1087 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hallo allerseits.

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

gruss



als Antwort auf: [#39808]
X