php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 28.01.2008, 21:07  
Neuer Benutzer
 
Registriert seit: 28.01.2008
Beiträge: 3
blu3fish befindet sich auf einem aufstrebenden Ast
Standard Variablennamen in Variablennamen???

also ...
Ich bin der Noob.
und der Noob hat jetzt folgendes Prob:
nur so als Beispiel (in Echt machen die Namen natürlich mehr sinn, würden jetzt außerhalb des Kontextes
aber nur für Verwirrung sorgen)

$ab_1 = "12345";
$ab_2 = "13333";
$ab_3 = "1234";
$ab_4 = "243";

$ergebnis = rand(1,4);

so, achtung, und jetzt.... PROBLEM
--------------echo $(ab_."$ergebnis") -----------------
also wie ihr schon gemerkt habt, gibts da ne Zufallszahl...
und variabelen die ab_"zahl" heißen, sozusagen
und ich würde gerne darauf in Abhängigkeit zur Zufallszahl zugreifen,
aber so wie ichs da oben geschrieben hab,
damit ich nich jedes einzeln abfragen muss - das sähe dann so aus:

if ($ergebnis == 1){
echo $ab_1;
}
if ($ergebnis == 2){
echo $ab_2;
} ......usw.

also ich hab schon alle möglichen Sachen ausprobiert, darunter waren U.A.:

ab_."$ergebnis" //gibt die tollte Ausgabe "ab_1" aus oder "ab_2" oder "ab_3 oder "ab_4", abhängig vom Ergebnis;
dachte ich mir "super, ist ja schonmal ein Anfang;
denn mit
$ab_."$ergebnis"
müsste der das ja machen weil das entspräche ja dann $ab_1 / $ab_2 usw.
... nixda,
natürlich sagt mir php "der Wert $ab_ is leer, also geb ich auch mal nix aus"
und raus kommt nur die Zufallszahl, also nur $ergebnis, weil $ab_ ja leer is;
also dachte ich es klappt vllt. mit
$(ab_.$ergebnis) ... ja ok, kein Kommentar -.-
ok, also ich arbeite noch nich lange mit php und deshalb trau ich mich auch mal zu fragen;
wie kriegt man das hin?
$."ab_".$ergebnis funzt auch net ...
schade, oder?
also, Blutiger Anfäger ersucht um Rat!

PS: falls es noch net klar war: im oben angegebenen Beispiel sollte z.B. im Falle das $erg == 1 wäre, ausgegeben werden "12345"

Geändert von blu3fish (28.01.2008 um 21:11 Uhr).
blu3fish ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 28.01.2008, 21:46  
Erfahrener Benutzer
 
Benutzerbild von Montellese
 
Registriert seit: 30.07.2007
Beiträge: 541
Montellese befindet sich auf einem aufstrebenden Ast
Montellese eine Nachricht über MSN schicken
Standard

Also PHP unterstützt variable Variablennamen, aber soweit ich weiss nicht in dieser Form! Folgendes ist definitiv möglich:
PHP-Code:
$name 'test';
$
$name 'noch einer';
echo 
$test//gibt "noch einer" aus. 
Aber nur einen Teil des Variablennamen dynamisch zu machen, geht meines Wissens nach nicht. Und da ein Variablenname nicht mit einer Zahl beginnen darf (nach dem $), wird das mit deinem Vorhaben bissl schwierig.
Warum machst du es dir nicht viel einfacher, definierst ein Array $ab mit den Eintragen bei den Indizes 0.....x und lässt deine rand von 0 bis x laufen und gibst es dann über $ab[$ergebnis] aus?
Montellese ist offline  
Alt 28.01.2008, 22:40  
Moderator
 
Benutzerbild von agrajag
 
Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse:
Fortgeschritten
agrajag wird schon bald berühmt werdenagrajag wird schon bald berühmt werden
Standard

Du kannst es theoretisch so machen:
Code:
echo ${'ab_'.$ergebnis};
Siehe Manual: PHP: Variable Variablen - Manual

Aber wie Montellese schon richtig angedeutet hat: Es ist sehr unschön und in so gut wie allen Fällen auch völlig unnötig. Nimm lieber ein Array...
agrajag ist offline  
Alt 29.01.2008, 20:29  
Neuer Benutzer
 
Registriert seit: 28.01.2008
Beiträge: 3
blu3fish befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Montellese Beitrag anzeigen
Warum machst du es dir nicht viel einfacher, definierst ein Array $ab mit den Eintragen bei den Indizes 0.....x und lässt deine rand von 0 bis x laufen und gibst es dann über $ab[$ergebnis] aus?
Weil ichn dummer noob bin^^ :P
ok, bin ich aber von alleine nich drauf gekommen, thx
blu3fish ist offline  
Alt 29.01.2008, 22:46  
Erfahrener Benutzer
 
Benutzerbild von Montellese
 
Registriert seit: 30.07.2007
Beiträge: 541
Montellese befindet sich auf einem aufstrebenden Ast
Montellese eine Nachricht über MSN schicken
Standard

Selbsteinsicht ist der erste Schritt zur Besserung
Ne is ja kein Problem, wenn man sich noch nicht so mit ner Programmiersprache auskennt, kann und darf einem das durchaus passieren! Dafür sind wir ja da.
Montellese ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] variablennamen mit variablen HTML, Usability und Barrierefreiheit 5 21.04.2006 15:04
Session Variablennamen: Dynamisch zusammengesetzt PHP Tipps 2006 4 22.02.2006 10:34
Variablennamen von $POST-Variablen dynamisch generieren reimondo PHP Tipps 2007 2 06.11.2005 19:12
variablennamen zusammenfügen PHP Tipps 2005 2 23.04.2005 15:56
Variable im Variablennamen PHP Tipps 2007 3 02.01.2005 19:40
variablennamen nach $_POST auslesen PHP Tipps 2004 2 03.09.2004 16:15
[Erledigt] "dynamische" Variablennamen PHP-Fortgeschrittene 5 05.06.2004 18:34


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




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum