PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   PHP Developer Forum (https://www.php-resource.de/forum/php-developer-forum/)
-   -   Variabelinhalt zur Variabel machen (https://www.php-resource.de/forum/php-developer-forum/100086-variabelinhalt-zur-variabel-machen.html)

KaffeeTrinken 14-08-2010 18:37

Variabelinhalt zur Variabel machen
 
Erstmal Hallo Leute! :)

Ich bin neu hier und hoffe ihr nimmt es mir nicht so krumm, wenn ich direkt am Anfang schon einen Fehler machen sollte ;-)

Aaaalso... Ich habe mich nun bei euch ein wenig eingelesen und denke das ihr mir bestimmt helfen könnt :)

Ich sitze wahrscheinlich einfach nur schon zu lange am PC um auf die Lösung zu kommen, oder ich bin einfach nur zu doof

Aber nun zu meinem Problem.
Jeder kennt doch bestimmt das "Spiel" wo man z.B. 5 Ziffern sieht, diese unbekannt mit einander verknüpft sind, und man selber die nächst logische Zahl herausfinden muss.

Kleines Beispiel:
2,8,4,16,8 ===> Logische Zahl 32
2,4,8,10,20 ==> Logische Zahl 22

Denke ihr wisst was ich meine. Diese versuche ich als Snoob zu coden. Da mir noch einiges an Erfahrung fehlt benutze ich die uneffiziente StepByStep-Methode. Sprich, ich schreibe Code. Funktioniert er, ändere und erweitere ich ihn, testen, usw...

Im moment macht mein Code das was er soll,... eigentlich.

PHP-Code:

<?
//kurze Config
error_reporting(E_ALL);
ini_set('display_errors'1);

$start_string_min 1;    //Gibt mindeststartwert der ersten Zahl an
$start_string_max 100;//Gibt maximalstartwert der ersten Zahl an

$show_turns    5;        //Wie viele Aufgaben sollen angezeigt werden
$show_string 5;        //Gibt an wieviele Zahlen vorher angezeigt werden (min 3) 
$show_solve    1;        //Gibt die Anzahl der einzutragenden Ziffern ein


//Kurze Script-Config
$radicular_hash = array('1','4','9','16','25','36','49','64','81','100','121','144','169','196','225','256','289','324','361','400');

/*
$operator_hash = array('1' => '$wert_3 = $wert_1 + $wert_2',          //Plus
                        '2' => '$wert_3 = $wert_1 - $wert_2',        //Minus
                        '3' => '$wert_3 = $wert_1 * $wert_2',        //Mal
                        '4' => '$wert_3 = $wert_1 / $wert_2',        //Geteilt
                        '5' => '$wert_2 = $wert_1 * $wert_1',        //Quadrat
                        '6' => '$wert_2 = sqrt($wert_1)');            //Wurzel
                      

*/
//Script (Theoretisch)//
for($ia=1$ia<=$show_turns$ia++) //Bestimmt Anzahl der Aufgaben
    
{
    
$x 1;
    
    for(
$ib=1$ib<=$show_string$ib++) //Bestimmt vorrangehende Anzahl der Ziffern
        
{
        if(!isset(
$wert_1))
            {
            
srand((double) microtime()*100000);
            
$wert_1 rand($start_string_min,$start_string_max);
            }
        
        if(
$x <= ($show_string 1))
            {
            
srand((double) microtime()*100000);
            
$op '-'.rand(1,6);
            
$x++;
            }
        else
            {
$op '';}
        
        
$string '$wert_'.$ib;
        
        echo 
$string.$op;
        }
    unset(
$wert_1);    
    echo 
'<br />';
    }
?>

Die Zeile $string = '$wert_'.$ib; macht mir dabei Probleme. Wie schaffe ich es, das die Variabel nicht (in diesem Beispiel, im ersten Durchlauf) den Wert '$wert_1' beinhaltet, sondern den inhalt, den die eben genannte Variabel eigentlich beinhalten sollte ---> Sprich den Zufallsgenerierten Wert. Hoffe ihr wisst was ich mein.

Ich danke euch schon mal im Vorraus. Ist wahrscheinlich gerade n dummer Denkfehler von mir *schäm*. Hoffe ihr könnt mir helfen.. Liebe Grüße, KaffeeTrinken

2Bad4You 14-08-2010 19:06

Wenn ich dich richtig verstanden habe dann so:
PHP-Code:

$string ''.$wert.'_'.$ib


KaffeeTrinken 14-08-2010 19:27

Joar... das schon nicht ganz falsch ^^ Auf jedenfall schonmal danke für den Lösungsansatz! :)

Mein Problem ist das 'echo' mir dezeit das WORT $wert_1 anzeigt. Dummerweise ist das aber genau das, was ich nicht will :) Ich möchte das statt $wert_1 ein Zufallsgenerierter Startwert angezeigt wird.

Moment.. ich verdeutlich es anders:

$string = '$wert_'.$ib; bewirkt (Sichtbar auf dem Bildschirm):

$wert_1-6$wert_2-4$wert_3-2$wert_4-2$wert_5
$wert_1-6$wert_2-5$wert_3-4$wert_4-3$wert_5
$wert_1-3$wert_2-6$wert_3-5$wert_4-4$wert_5
$wert_1-2$wert_2-1$wert_3-3$wert_4-2$wert_5
$wert_1-3$wert_2-2$wert_3-4$wert_4-4$wert_5


Es sollte aber eigentlich der derzeitig sichtbare Variabelname $wert_1 durch den oben im Script generierten Wert erstetzt werden.

Die anderen Variabeln $wert_2 bis $wert_5 fehlen noch in der difinition im Script. D.h. da diese derzeitig nicht existieren, dürften sie auch nichts anzeigen (außer den Inhalt der $op), was zur follge hätte das NUR die erste Zufallszahl mit z.B. -6 zu sehen sein dürfte. Also z.B: 56-6 (und das 5 mal untereinander mit unterschiedlichen zahlen)

Hm... wie kann ich das denn noch beschreiben,... ö.Ö. Die Hürde versaut mir meinen ganzen Abend *hmpf*

fab-s 14-08-2010 20:31

Kein schöner Stil aber wenn du es unbedingt so machen willst:
PHP-Code:

${$wert.'_'.$ib


h3ll 14-08-2010 20:34

Variable Variablen sind Pfusch. Warum kein Array verwenden?

KaffeeTrinken 14-08-2010 20:52

Zitat:

Zitat von fab-s (Beitrag 644115)
Kein schöner Stil aber wenn du es unbedingt so machen willst:
PHP-Code:

${$wert.'_'.$ib


Danke für die Idee... Ich weiß das es derzeitig noch nicht die schöne Art und Weise ist,.. wüste aber nicht wie ich es sonst realisieren sollte. Dein Code funzt übrigens nicht. Er sagt mir das $wert undefiniert sei...

h3ll:
In Arrays? Arbeite nahezu immer mit arrays :) Allerdings habe ich noch nie versucht ein Script zu pasteln, was mir Aufgaben generiert, die auf Logik-basieren. Das Script ist noch in der "Embrio-Phase",.. ich habe da nur diesen ollen Haken, an dem ich mich voll aufhänge *grml*

Ich denke ihr wisst, was es für ein Script später mal werden soll, oder? Wenn ja, vielleicht habt ihr ja noch eine andere Idee, wie ich das realisieren kann,...

*EDIT*
h3ll --> Du hast mich gerade auf eine Idee gebracht mit deinen Array-kram,.. :) schauen obs funzt, wenn ich weiß, wie ich es umsetzen soll ^^

*EDIT*
Ich habs dank h3ll! :)
Er hatte absolut Recht... "Variable Variablen".. als er das sagte, kam mir das irgendwie bekannt vor und ..KLAR.. ich hatte das in den ersten Tuts öfters gelesen :) Ich sitze einfach schon zu lange vor dem Rechner ^^ Habe die Werte nun in Arrays geändert.

Bin gerade froh darüber, das der andere Code-Schnipsel nicht gefunzt hat ^^ danke für den Denkanstoß, jetzt klappt alles wieder!

fab-s 15-08-2010 01:53

Zitat:

Zitat von KaffeeTrinken (Beitrag 644124)
Danke für die Idee... Ich weiß das es derzeitig noch nicht die schöne Art und Weise ist,.. wüste aber nicht wie ich es sonst realisieren sollte. Dein Code funzt übrigens nicht. Er sagt mir das $wert undefiniert sei...

...

Bin gerade froh darüber, das der andere Code-Schnipsel nicht gefunzt hat ^^ danke für den Denkanstoß, jetzt klappt alles wieder!

Hatte mich etwas irritieren lassen, was ich eigentlich meinte war

PHP-Code:

${'wert_'.$ib

Aber das nur der Vollständigkeit halber, ist schon besser dass du eine Lösung ohne variable Variablen gefunden hast :)

KaffeeTrinken 15-08-2010 03:04

Zitat:

Zitat von fab-s (Beitrag 644135)
Hatte mich etwas irritieren lassen, was ich eigentlich meinte war

PHP-Code:

${'wert_'.$ib

Aber das nur der Vollständigkeit halber, ist schon besser dass du eine Lösung ohne variable Variablen gefunden hast :)

Ah... Super.. trotzdem danke :) Wer weiß wofür man das noch mal irgendwann gebrauchen kann :)

Euch noch mal einen riesen Dank. Ihr habt mir den Abend gerettet!


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:56 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG