[PHP] Syntaxproblem mit 2 Variablen.

Toby

Cadet 4th Year
Registriert
Mai 2003
Beiträge
107
Hallo zusammen,

ich habe ein Systanxproblem mit dem Verbinden zweier Variablen.
Das Ergebnis sollte wie folgt aussehen:

$glob_kat_1 oder $glob_kat_2

Die 1 oder 2 wird entsprechend eines Datenbankeintrages zu $glob_kat_ hinzugefügt.

Die Ziffer 1 oder 2 steckt in folgender Variable:
$ziffer

Zusammengefasst gesagt:
Soll $glob_kat_ mit $ziffer verknüpft werden um die Variable mit einem echo Befehl ausgeben zu können.

So funktioniert es jedenfalls nicht: :(
PHP:
echo $glob_kat_.$ziffer;

grüße
Toby
 
Hm. Ich musste jetz ungefähr 5 Mal lesen, bis ich verstanden hab was du willst.
Also. Um einen Variablennamen im Echo auszugeben musst du folgendes machen:

PHP:
$ziffer = 5;
echo "\$glob_kat_" .$ziffer;

Nun wird $glob_kat_5 ausgegeben. Ich hoffe das ist das, was du wolltest. :)
 
RuL3R, Danke für Deine Antwort und sorry für meine verwirrende Erklärung.

Ich wollte nicht "$glob_kat_5" ausgeben. Sondern den INHALT von $glob_kat_5

glob_kat_5 behinhaltet dann z.B. die Kategorie "Autos";
 
Zuletzt bearbeitet:
echo "$global_kat_5 $ziffer "; gibts beides aus

oder

echo " ".global_kat_6." ".$zifer."; war wahrscheinlich die ausgabe die du suchst oder?

beides nicht getestet sollte aber stimmenach du


/edit/ ich glaub jetzt hab ich verstanden was du willst du willst ein array oder ?

$global_kat[0] = auto;
$global_kat[1]=fahrad;
$global_kat[2]=töff-töff;

$zahl = 2;

echo "$global_kat[$zahl]";

gibt töff-töff aus

gruß riod
 
Zuletzt bearbeitet:
Ich möchte einfach den Inhalt der Variablen $glob_kat_1 oder $glob_kat_2 ausgeben.
Je nach Inhalt der Variable $ziffer.

Wenn $ziffer = 1; lautet die echo-Anweisung wie folgt:
echo $glob_kat_1;

Wenn $ziffer = 2; lautet die echo-Anweisung wie folgt:
echo $glob_kat_2;


Da fest definiert ist das $glob_kat_1 = "Autos" und $glob_kat_2 ="Maschinen"

sollen entweder Autos oder Maschinen ausgegeben werden.

Dazu brauche ich keine Arrays oder ähnlich.
 
Was du machen möchtest, geht weder in php noch in sonst irgendeiner Sprache!

Um dein Problem zu lösen, kannst du nur folgendes machen:
if ($ziffer == 1)
echo $glob_kat_1;
else
echo $glob_kat_2

Es ist nicht möglich einen "Variableninhalt" an einen Variablennamen anzuhängen! (Außer Arrays bieten eine "ähnliche" Funktionalität)
 
Morpheus3k schrieb:
Was du machen möchtest, geht weder in php noch in sonst irgendeiner Sprache!
natürlich geht das.
PHP:
$kat = "glob_kat_".$ziffer;
echo $$kat;
 
Ich glaube es geht darum eine neue Variable zu erstellen!

Als Bsp: $var1 = 1; $var2 = 2; $zahl;

$zahl "operation" $var1;
und das soll dann quasi $zahl1 heißen!
oder eben: $zahl "operation" $var2;
was wiederum: $zahl2 heißen soll...

und das geht (soweit ich weiß) mit keiner der gängigen Programmiersprachen!
 
ja genau das passiert doch bei dem was ich geschrieben habe?
 
nö. sowas geht nicht ... ist auch die frage was das bringen soll ?! mach das doch mti dem array und eckigen klammern

kannst da statt zahlen auch namen benutzen
 
Oh bitte. Bevor ihr behauptet dass soetwas nicht geht - beweist es bitte.

PHP:
$string = "myVariable";
$$string = "foo";

echo $myVariable; // gibt aus: foo

Geht nicht gibts nicht! :) Das hab ich zum letzten mal vor 10 Jahren bei Vobis gehört, die mir verklickern wollten, dass es keinen Hub mit BNC und RJ45 Stecker gibt ... muhahaha.


Edit Nachschlag: es geht noch kranker
PHP:
class Foo
{
  function Foo() { echo "Ein foo"; }
}

$myClass = "Foo";

$f = new $myClass;
 
das ist aber getrickst sind doch pointer oder ?! adresse der variablen da rein geschrieben aber das sollte doch eigentlich niemand benutzen :D
 
Enigma schrieb:
Oh bitte. Bevor ihr behauptet dass soetwas nicht geht - beweist es bitte.

PHP:
$string = "myVariable";
$$string = "foo";

echo $myVariable; // gibt aus: foo

Revontulet schrieb:
natürlich geht das.
PHP:
$kat = "glob_kat_".$ziffer;
echo $$kat;



Danke, so hab ich mir das vorgestellt :)
klappt super.

gruss
Tobias
 
Zuletzt bearbeitet:
enigma schreib doch mal nen kurs "wie programmiert man nich tin 21 tagen" oder so
 
Gut, kannte ich nicht. Tut mir leid. Aber als "schönes Programmieren" würde ich das eher nicht bezeichnen...
 
nicht schön? mag sein, aber solche konstrukte sind teilweise einfach notwendig.
 
Ich würde das als Pfusch bezeichnen oder wie schreibt man möglichst unübersichtlichen Code.

@Zhan,

so etwas ist nie notwendig. Es gibt für fast jedes Problem auch eine elegante und korrekte Lösung.

MfG

Arnd
 
Sauberes Programmieren fördert das nicht - das sollte jedem klar sein.

Wenn dann werden diese Kategorieren schön in einem Array gespeichert und dann wie folgt drauf Zugegriffen:

PHP:
echo $globalCat[$ziffer];

Aber mich jetzt dumm anmachen weil ich jemand weitergeholfen hab - muss echt nicht sein oder riod?
 
Das war nicht als "dumm anmachen" gedacht, sondern nur als Kommentar das man solche "Features" einer Sprache am besten ignoriert.

War also nicht persönlich gemeint :-).

"Pfusch" wird es erst wenn man es anwendet.

MfG

Arnd
 
ja guck ma in mein post das mit dem array hab ich doch geschrieben :D
 
Zurück
Oben