"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

PHP: Problem mit dem Unterstrich im Code!

Grent 17.08.2005 - 14:22 727 9
Posts

Grent

Big d00d
Avatar
Registered: Jun 2002
Location: Austria
Posts: 257
Ganz einfaches Problem:

Es gibt den Parameter "size".
So funktioniert das ganze:

Code:
echo "<img src=\"mein_bild_$size.jpg\">";

So funktioniert es leider nicht:

Code:
echo "<img src=\"mein_bild_[color="red"]$size_haus[/color].jpg\">";


=> Der markierte Teil verschwindet einfach im Output.
Ich habe es mit einem \ vor dem Unterstrich versucht: dann entsteht im Output "mein_bild_$size\_haus.jpg"
Auch einen Punkt hab ich versucht, einzubaun... nix.

Was tun?
Sicher kein großes Problem für Profis.
Thx. :)
Bearbeitet von Grent am 17.08.2005, 14:25

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Zitat von Grent
Code:
echo "<img src=\"mein_bild_[color="red"]$size_[/color]haus\">";

Sicher kein großes Problem für Profis.
Thx. :)
Ist auch für non-Profis kein Problem wenn man das Manual liest.

Möglichkeit (a)
Code:
echo '<img src="mein_bild_'.$size.'_haus">';

Möglichkeit (b1)
Code:
echo "<img src=\"mein_bild_${size}_haus\">";
Möglichkeit (b2)
Code:
echo "<img src=\"mein_bild_{$size}_haus\">";

Aber 99,95% aller Fragen könnten durch Manual lesen beantwortet werden, man ist sich wohl zu gut.

Grent

Big d00d
Avatar
Registered: Jun 2002
Location: Austria
Posts: 257
Alles klar. Ich hatte diese [] verwendet anstatt diesen {}.
Danke!

tomstig

OC Addicted
Avatar
Registered: Nov 2003
Location: /home/tomstig/
Posts: 1341
@grent: gewöhn dir am besten ein richtiges Trennen von Strings und Variablen an...

Code: PHP
$name = 'Thomas';

// empfohlen
echo 'Mein Name ist ' . $thomas;

// nicht empfohlen
echo "Mein Name ist $name";

Rektal

Here to stay
Registered: Dec 2002
Location: Inside
Posts: 4452
Wieso nicht empfohlen?

Grent

Big d00d
Avatar
Registered: Jun 2002
Location: Austria
Posts: 257
Naja, es funktioniert zwar manchmal, aber - wie man an meinem ersten Beispiel gesehen hat - nicht immer, wenn man die Variablen von den Strings nicht ordentlich trennt. Daher ist es also eher eine "Unart", und deswegen nicht empfohlen.

Rektal

Here to stay
Registered: Dec 2002
Location: Inside
Posts: 4452
'manchmal' gibts nicht. Ist doch alles Dokumentiert. _ ist ein gueltiger Teil eines Namen eines identifiers, also warum sollte der Parser "$foo_bar" als "nur Variable $foo ersetzen" interpretieren?

Die Leute sollen einfach mal die Dokumentation (z.B. http://de.php.net/manual/en/language.types.string.php ) lesen.

Und ich moechte echt wissen, wo geschrieben steht, dass das eine Unart ist. Ich glaub das geht eher auf Unkenntnis der Sprache zurueck.

Grent

Big d00d
Avatar
Registered: Jun 2002
Location: Austria
Posts: 257
Zitat
Und ich moechte echt wissen, wo geschrieben steht, dass das eine Unart ist. Ich glaub das geht eher auf Unkenntnis der Sprache zurueck.

Na selbstverständlich geht das Hand in Hand. Sorry, ich dachte, du wärst noch unbeholfener als ich. ;)

Da mit "die Leute" auch ich gemeint bin, nehm ich mal dazu Stellung:

Zum ersten mal, nachdem ich schon öfters bestehenden PHP-Code editiert hab, habe ich mich getraut, quasi "aus dem nichts" eigenen PHP-Code in eine HTML-Seite einzubauen.

Da ich das nur als kleines Hobby, und nicht besonders oft mache, und auch nicht die Zeit habe, das Manual zu lesen, wollte ich kurze Hilfe, von (Semi-)Profis hier, die das Problem sehr schnell lösen können, wofür ich sicherlich ein vielfaches im Manual suche.

Natürlich, wenn ich die Sprache wirklich lernen wollte, würde kein Weg daran vorbei führen - aber dann hätte ich die Frage nicht hier gestellt.

Vergleichbar: Euch fällt eine kleine Melodie samt Harmonie ein, aber bei einem Akkord wisst ihr nicht weiter. Ihr fragt also kurz: Was könnte ich da machen? -> Ohne die ganze Harmonielehre durchnehmen zu wollen/müssen.

"I really believe that."

Rektal

Here to stay
Registered: Dec 2002
Location: Inside
Posts: 4452
Ich verstehe. Ist das selbe wie mit den Leuten die halt das Auto Manual nicht lesen und sich Ihrer Verwantwortung entziehen. Viele wissen nicht mal, dass sie mit ihren neuen Autos keine Starthilfe mehr geben sollten, da es die heikle Elektronik zusammenhauen kann. "Ich will ja nur damit fahre, mich aber um den Rest nicht kuemmern."

Auch wenn einer nur ein "bisserl" Programmiert, bitte wie kann man auch nur einen Strich machen, ohne sich das Manual anzuschauen? Das ist grob Fahrlaessig. Genauso wie Leute sich "HTML Designer" nennen und noch nie auch nur einen kleinen Blick in die Spezifikationen gemacht haben und net mal wissen dass es abbr, label, o.ae. Elemente gibt.

Und dann auch noch versuchen schlaue Tipps zu geben, obwohl sie selber nie ins Manuel geblick haben. Das zieht sich dann wie ein roter Faden durch und Unwissenheit wird als Wissen weiterverkauft. Kanns aber jetzt auch nicht sein. Oder ? :)

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Es ist ein grosser Irrglauben dass Manual Lesen lange dauert. Das ist einfach falsch. Und gerade das PHP-Manual ist extrem gut - ich kenne keine derart gut dokumentierte Programmiersprache, oder gar Programm. LUA kommt zusammen mit JAVA sehr nahe ran. Das wars auch schon.

Im PHP-Manual:
Die ersten, und wichtigen Seiten hat man in maximal 2 Stunden durch.
Alles andere ist nur Referenz und zum Nachschlagen gedacht und bezieht sich eigentlich nicht mehr auf den Core, sondern auf Module.
Bei einigen Sprachen - zB. vbscript (wo die Doku absolut unmöglich ist) - würde ich ein "manual lesen braucht lange" einsehen, nicht bei PHP. Wirklich nicht.

Desweiteren muss ich zustimmen dass tomstig hier falsch liegt - es kommt einfach auf den Anwendungsfall an. Manchmal ist es sinnvoller die eine Schreibweise zu verwenden, ein andernmal die Andere. Meistens macht es kaum Unterschied - und jeder hat seine Lieblingsschreibweise, und jeder hat einen Grund dafür.
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz