Variable Variablen?
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
algorithmus
anfhrungszeichen
antwort
array
eintrag
funktion
grundlage
handbuch
letzte
listen
manual
mglichkeit
pauken
pech
sache
schlsselwort
string
sturz
variable
zahlenwert
-
Hi,
ich habe mal wieder ein Problem:
Ich möchte die Funktion:
function genug($art)
{
$m_art = "m_".$art;
$k_art = "k_".$art;
$d_art = "d_".$art;
echo " $m_art";
if($m_art >= $metall_vorrat && $k_art >= $kristall_vorrat && $d_art >= $deuterium_vorrat) ...(usw.)
über $art ansteuern. Oberhalb im Script dieser Funktion ist eine Liste von Variablen die einen Zahlenwert aus der Datenbank erhalten. Die Namen der Variablen sind $m_1, $k_1, $d_1, $m_2, $k_2, $d_2 dies geht so weiter bis 10.
Die Variable $art enthält die Ziffer der Variablengruppen, also liegt der Wert von 1-10. Mein problem liegt dadrinn, dass die Variablen $m_art $k_art und $d_art die Strings von $m_? $k_? $d_? enthalten und nicht deren Zahlenwert, was ich aber haben möchte.
Weiß jmd wie ma das Problem lösen kann? Ich hab ma was gelesen mit variablen Variablen könnte das hier helfen?
Vielen dank im Vorraus
MfG walkonshit -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hi,
versuch es doch mal mit einem array.
z.B.:
$array = array();
$array['$x'] = "irgendetwas";
usw.
für $x kannst du entweder Zahlen (mit 0 beginnend) einsetzen (indiziertes array)
oder einfach einen namen (assoziatives array)
Hoffe das hilft ;)
Aber mal ne andere Sache: Das sieht mir nach Ogame aus. Was machstn da?
-
ja ich bastel mir n Browsergame zam^^
nur ich werd vom Pech verfolgt =/
das mit dem array ist keine gute idee =/
macht die seite arschlahm!
es muss doch ne möglichkeit geben einfach nur die Werte zu übergeben und net den String oder net?! War da nicht mal was mit $lalala = "$lol"; damit desn string wird und ohne anführungszeichen der wert?! -
eigentlich sollte die seite dadurch nicht langsamer werden.
Überprüf mal ob da nicht ein winziger Fehler drin ist. (Sollte eigentlich auch nicht der Grund sein)
Guck doch auch mal bei selfphp oder sowas nach -
Hallo,
eigentlich machen arrays das laden der Seite nicht langsamer.
---
Wertzuweisung:
[/code]$blub1 = '$hallo'; print $blub1; //Augabe: $hallo [code]5
Variablen bennen:
$blin = 'text'; $blun = 'vari'; $$blun = $blin; print $vari; //Augbae: text
=> variablen bennenen: $$name -
ja ich bastel mir n Browsergame zam^^
nur ich werd vom Pech verfolgt =/
Ojeh. Ich würde an deiner Stelle erstmal PHP-Grundlagen pauken, anstatt mich gleich auf ein so großes Projekt zu stürzen. Nebenbei bemerkt, sind Browsergames mittlerweile so stark kommerzialisiert, dass man da als Amateur und Einsteiger keine große Chance mehr hat (nur meine Meinung) ...
das mit dem array ist keine gute idee =/
macht die seite arschlahm!
Soweit ich weiß, sind Arrays in vielen Fällen schneller als Strings, weil bei der Bearbeitung das Umkopieren und Reservieren/Freigeben von Speicherbereichen weniger oft gebraucht wird. Ich denke mal, du machst was falsch ...
es muss doch ne möglichkeit geben einfach nur die Werte zu übergeben und net den String oder net?! War da nicht mal was mit $lalala = '$lol'; damit desn string wird und ohne anführungszeichen der wert?!
Mein Lieblings-Online-Text-Adventure-Browser-Game heißt PHP-Manual. Im Level "Variable Variablen" könntest auch du fündig werden:
http://de.php.net/manual/de/language.variables.variable.php -
So nebenbei bemerkt Klugscheißer kann keiner leiden...
Vllt kennst du den Begriff Learning-by-doing?
Erklär mir mal bitte was es bringt trockene Tutorials durchzulesen ohne sie sinnvoll zu verknüpfen?! Außerdem habe ich die Grundlagen von PHP natürlich gelernt...ganz blöd bin ich auch net, aber durch praktische Anwendungen wird man vor solche Probleme gestellt, die in der Theorie nicht auftauchen. Und was ich letzten Endes mit dem fertiggestellten Game mache ist meine Sache...
Sry wenn ich dich jez zu hart angegriffen hab nehms net persönlich, trzdm Danke für deine Antwort.
Achja des mit den Arrays da hab ich ein Gedankenfehler gemacht. Weil drei Array die jeweils 10 Einträge haben und diese einzeilige Rechnungen sind, erhöht sich die Ladedauer des Scriptes. Aber Wie gesagt....falsch gedacht^^
MfG walkonshit -
Ooooch, herrjeh! Die von mir verlinkte PHP-Handbuch-Seite erklärt wirklich bis auf den letzten Fitzel, wie das mit den variablen Variablen funktioniert. Ich habe damit auch gelernt. Nebenbei hat das PHP-Handbuch den Vorteil, dass es sich hierbei um die offizielle Dokumentation von PHP handelt. SelfPHP und andere Websites dagegen sind in dieser Hinsicht nicht immer aktuell oder stellen manches falsch dar.
Was die Klugscheißerei angeht: Mir ist es egal, was du von mir hältst. Ich kenne dich nicht persönlich und du kennst mich nicht persönlich. Wenn du mit meinen Antworten nicht zurecht kommst, werde ich das in meiner internen PLONK-Liste verbuchen und in Zukunft vermeiden, auf deine Fragen zu antworten. Dann hast du deine Ruhe, und ich kann in der Zwischenzeit was Anderes machen. Nebenbei wird dir jeder meiner Posts in einen deiner Threads mit zwei Gulden vergütet.
Was deine PHP-Kenntnisse angeht: Wenn du sie angegeben hättest, wäre meine Antwort vielleicht anders ausgefallen. Wenn ich mir einen Post anschaue, wo nicht sofort erkennbar ist, welchen Wissensstand der Poster hat, halt ich mich an Schlüsselwörter, die mir einen Hinweis geben könnten, wie weit er/sie sich in der Materie auskennt. "Browsergame" ist so ein Schlüsselwort, was bei mir einen Algorithmus auslöst, der die Variable, die den Erkenntnisstand repräsentiert, sehr stark dekrementiert. Das liegt daran, dass ich mich nicht erinnern kann, dass irgendeines der selbstgeschriebenen/selbst zu schreibenden Browsergames, dass in den mir bekannten Webforen (Lima-City, drition, pytal, ebytenet) in einem Thread angesprochen wurde, jemals einen vernünftigen Auslieferungsstand erreicht hätte. Da die Branche, wie schon gesagt, mittlerweile von kommerziellen Unternehmen dominiert wird (es läuft ja schon Fernsehwerbung zu Seeschlacht und Co.), sehe ich für Einzelkämpferprojekte kaum einen Markt. Eine lehrreiche Übung im PHP-Programmieren ist sowas aber sicher trotzdem.
Sooo, und was die Sache mit den Arrays betrifft, es gibt durchaus einige Array-Funktionen, die ein Script sehr stark verlangsamen können. Man sollte sie meiden, oder bei sehr großen Arrays möglichst selten anwenden. Einer dieser Kandidaten ist array_shift(). Mir ist das mal aufgefallen, als ich in einem Script ein Server-Logfile mit ca. 17000 Einträgen von einem Array in eine Datei schreiben wollte. Blöderweise kam ich auf die Idee, jeden Eintrag mit array_shift() zu holen. Dass man auch foreach() benutzen kann, ist mir erst später aufgefallen. Jedenfalls war das Script so langsam, dass es für die 17000 Einträge über 30 Minuten brauchte. Mit foreach() ging das dann in Sekunden-Bruchteilen. Aber wenn man auf solche Sachen verzichtet, sind Arrays oft "schneller" als Strings -- vor allem wenn diese dauernd in der Länge geändert werden. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage