Computerhilfen.de Logo
Forum
Tipps
News
Frage stellen

PHP: Zufall - Arrays - Bilder

Moin, ich habe hier folgendes versucht:

<?php
$bilder1=array("1.jpg","2.jpg","3.jpg");
mt_srand ((double)microtime()*1000000);
$zahl = mt_rand(0,(count($bilder1) - 1));
echo '<img src="bilder/'.$bilder1[$zahl].'">';

$bilder2=array("1.jpg","2.jpg","3.jpg");
mt_srand ((double)microtime()*1000000);
$zahl = mt_rand(0,(count($bilder2) - 1));
echo '<img src="bilder/'.$bilder2[$zahl].'">';

$bilder3=array("1.jpg","2.jpg","3.jpg");
mt_srand ((double)microtime()*1000000);
$zahl = mt_rand(0,(count($bilder3) - 1));
echo '<img src="bilder/'.$bilder3[$zahl].'">';


if($bilder1 == "1.jpg";$bilder2 == "1.jpg";$bilder3 =="1.jpg")
    {
    echo "Gewonnen!1";
    }
   
if($bilder1 == "2.jpg";$bilder2 == "2.jpg";$bilder3 =="2.jpg")
    {
    echo "Gewonnen!2";
    }
   
if($bilder1 == "3.jpg";$bilder2 == "3.jpg";$bilder3 =="3.jpg")
    {
    echo "Gewonnen!3";
    }
   
?>


(Es ist keine Hausaufgabe oder ähnliches.)
EIGENTLICH sollte der jeweilige Text erscheinen, wenn 3 gleiche Bilder erscheinen. Die Syntax bei den If-Anweisungen ist wohl falsch, könnte die jemand korrigieren?
Danke :)


Antworten zu PHP: Zufall - Arrays - Bilder:

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Okay, geändert nach dem Schema


if($bilder1 == "1.jpg" && $bilder2 == "1.jpg" && $bilder3 =="1.jpg")
    {
    echo "Gewonnen!1";
    }

Trotzdem erscheint kein Text, wenn drei gleiche Bilder erscheinen.
Wo kann denn der Fehler noch liegen?

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Meinst du wirklich, dass

$bilder1 == '1.jpg' ist, wenn $bilder1 = array("1.jpg","2.jpg","3.jpg"); definiert wurde?

Hm, natürlich nicht.
Es sollte eigentlich so laufen: Es werden drei Bilder angezeigt,jedes Bild wird durch Zufall gezeigt, es stehen 1.jpg, 2.jpg und 3.jpg zur Auswahl.
Wenn zufällig drei gleiche Bilder erscheinen =>Textausgabe

Wie kann ich das denn umsetzen, wenn nicht so?

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Sinn ist klar. Wo hast du dir denn das Skript geklaut? ;D  Wenn du es verstehen würdest, könntest du dein Problem lösen, denn im Prinzip steht die Lösung schon mehrfach im Code ;)

greez 8)
JoSsiF

Hey!  ;)
Okay, den Arrayteil habe ich von computerhilfen.de, das hätte ich aber auch selber hingekriegt, vielleicht nicht exakt so, aber es würde eine Zufall-funktion geben. :)
Den Rest hab ich selber gemacht, ist ja auch nicht soo anspruchsvoll.
Ich denke schon dass ich es verstehe, vielleicht kannst du mir die 

Zitat
steht die Lösung schon mehrfach im Code 
zeigen? Es ist ja nicht so, dass ich keine Eigeninitiative hätte. :)

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

In deinem Fall identifizierst du ein Array-Element mittels der generierten Zufallszahl (so gibst du auch das Image aus). Wie wär's, wenn du dir dieses Element in eine extra Variable schreibst und dieses zum Vergleich verwendest? Dann kannst du dir sicher sein, dass auch wirklich das Bild drin steht, was auch angezeigt wird ;)

greez 8)
JoSsiF

Neues Konzept:


<?php

$var1=echo '<img src="bilder/1.jpg">'
$var2=echo '<img src="bilder/2.jpg">'
$var3=echo '<img src="bilder/3.jpg">'

$erg1=echo $var1 or $var2 or $var3

$var4=echo '<img src="bilder/1.jpg">'
$var5=echo '<img src="bilder/2.jpg">'
$var6=echo '<img src="bilder/3.jpg">'

$erg2=echo $var4 or $var5 or $var6

$var7=echo '<img src="bilder/1.jpg">'
$var8=echo '<img src="bilder/2.jpg">'
$var9=echo '<img src="bilder/3.jpg">'

$erg3=echo $var7 or $var8 or $var9

if($erg1 == "1.jpg" && $erg2 == "1.jpg" && $erg3 =="1.jpg")
    {
    echo "Gewonnen!1";
    }
   
if($erg1 == "2.jpg" && $erg2 == "2.jpg" && $erg3 =="2.jpg")
    {
    echo "Gewonnen!2";
    }
   
if($erg1 == "3.jpg" && $erg2 == "3.jpg" && $erg3 =="3.jpg")
    {
    echo "Gewonnen!3";
    }
   
?>


Sind zwar fröhliche Syntaxerror drin, die werd ich noch wenn möglich beseitigen.
Bin ich denn auf dem richtigen Weg?  ;);D
Ich weiß nicht ob das gegen deine Prinzipien verstößt ;), aber könntest du nicht einfach die fehlenden/richtigen Scriptelemente ergänzen, und ich bemüh mich diese zu verstehen?

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
Bin ich denn auf dem richtigen Weg?  ;);D

Wenn du gern auf Holz rumläufst, dann ist die Richtung perfekt ;D

könntest du nicht einfach die fehlenden/richtigen Scriptelemente ergänzen, und ich bemüh mich diese zu verstehen?

Um's kurz zu machen: Nein.
Wenn du funktionierende Skripte analysieren möchtest, um diese zu verstehen, dann muss ich dir keins schreiben, da das Netz randvoll davon ist :)

greez 8)
JoSsiF

Also es ist so.
Php-zufall etc. Skripte gibts mehr als genug, kann ich auch selber schreiben.
Ich möchte, dass bei drei gleichen Symbolen eine Meldung erscheint. Ich denke das ist klar.
Ich muss auch sagen, dass mir deine Antworten nicht wirklich weiterhelfen.
 

Zitat
In deinem Fall identifizierst du ein Array-Element mittels der generierten Zufallszahl (so gibst du auch das Image aus). Wie wär's, wenn du dir dieses Element in eine extra Variable schreibst und dieses zum Vergleich verwendest? Dann kannst du dir sicher sein, dass auch wirklich das Bild drin steht, was auch angezeigt wird
Meinst du so was?
<img src="bilder/<?php echo mt_rand(1, 3);?>.jpg">
 :)

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
Ich muss auch sagen, dass mir deine Antworten nicht wirklich weiterhelfen.

Natürlich tun sie das nicht. Du kannst dir im Moment nur selbst helfen, und zwar, indem du ein Buch oder Tutorials oder die PHP-Doku oder fertige Skripte hernimmst und damit ein paar Grundlagen der Sprache bzw. Programmierung generell paukst. Das sage ich dir nicht aus Boshaftigkeit, sondern weil dein Code die Notwenidgkeit dafür erkennen lässt :)

Die Alternative: jemand ist so nett und schreibt dir den fertigen Code. Dabei lernst du zwar nichts, aber dein Skript läuft.


Meinst du so was?
<img src="bilder/<?php echo mt_rand(1, 3);?>.jpg">
 :)

Nö. Grundsätzlich meinte ich, dass du das angesprochene Array-Element in eine Variable schreiben solltest, um den Wert später wieder verwenden zu können.

$myVar = $myArray[$fooRandomNumber];

Ganz easy ;)

greez 8)
JoSsiF

« HomepageSonstiges: Webhoster »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Hypertext
Hypertext ( zu Deutsch: Übertext) ein ein von dem Informatiker Theodore L. Nelson in den sechziger Jahren geprägter Begriff für Text, der dreidimensional g...

Textur
Unter einer Textur versteht man eine Oberflächenstrukur, die ein bestimmtes Material simuliert, wie Holz, Tapete oder Metall. Bei der 3D-Computeranimation bezeichnet...

Graustufenbilder
Als Graustufenbilder bezeichnet man digitale Bilddateien. Graustufenbilder werden auch Halbtonbilder beziehungsweise 8-Bit-Bilder genannt. In Graustufenbilder muss ein Pi...