Thomas Luethi: Parse error finden

Beitrag lesen

Hallo,

Habe gerade nochmal darüber nachgedacht. Gerade und ungerade hilft auch nicht. Die Zeichen könnten ja auch innerhalb eines Strings unpaarig stehen. Das ist ja erlaubt. Und dann dürfte man sie für die Kontrolle nicht mitzäheln. Häkchen könnten auch maskiert sein " oder ' eben. Dann dürften sie auch einzeln vorkommen.

Ja, sie duerfen. Damit wird die gerade/ungerade Zaehlerei sinnlos.
Gerade das Apostroph (') verwende ich oft als Auslassungszeichen (*).
Damit hat es gute Chancen, unpaarig vorzukommen.
Bei den Klammern dagegen ist es IMHO eher unwahrscheinlich,
dass man sie einzeln hat. Auch in Text, der ausgegeben wird,
will man ja meistens gleich viele oeffnende wie schliessende
Klammern.
Und wenn man mal einen besonderen Grund hat, kann man
ja immer noch Klammern in Kommentare verpacken, damit
der Zaehler zufrieden ist.
Beispiel:

echo "(Bemerkung: ...";
if ($bedingung)
  echo "... Bemerkung Ende 1)";
else
  echo "... Bemerkung Ende 2)";

Hier haette man ja eine oeffnende, aber zwei schliessende
runde Klammern.
Abhilfe:

echo "(Bemerkung: ..."; // Zusatz-Klammer fuer den Zaehler: (
if ($bedingung)
  echo "... Bemerkung Ende 1)";
else
  echo "... Bemerkung Ende 2)";

Sauberer - aber eben eine Zeile laenger - waere natuerlich:
echo "(Bemerkung: ...";
if ($bedingung)
  echo "... Bemerkung Ende 1";
else
  echo "... Bemerkung Ende 2";
echo ")";

Oder gibt es einen Fall, wo eine { innerhalb eines Strings eine Sonderbedeutung hat?

Ja.

Lies doch wieder mal
http://www.php.net/manual/en/language.types.string.php#language.types.string.parsing
:-)

$beer = 'Heineken';
echo "He drank some {$beer}s"; // funktioniert
echo "He drank some $beers";   // funktioniert nicht, $beers ist undefiniert.

Gruesse,

Thomas

(*) Nein, fuer den Genitiv verwende ich das Apostroph nicht.
Jedenfalls nicht so: http://members.aol.com/apostrophs/ .
Hoechstens nach meinem Namen und anderen Woertern, die
auf "S" enden - also dort, wo es schon immer korrekt war.
Die Rechtschreibe-Reform boykottiere ich nach wie vor, so gut
ich kann, auch wenn die Manipulation durch die Medien
sehr hartnaeckig ist, z.B. "aufwendig" muss ich schon bewusst
so schreiben.