stringzeile in php - warum geht das?
frankx
- php
Hellihello,
warum funktioniert:
<?php
echo "hallo";
asdf
?>
Erst eine zweite Stringzeile
<?php
echo "hallo";
asdf
asdf
?>
bringt den Fehler, den ich bereits beim ersten Beispiel erwartet hätte.
frankx
Tach.
<?php
echo "hallo";
asdf
?>
Mit error\_reporting auf E\_ALL erkennst du:
hallo
Notice: Use of undefined constant asdf - assumed 'asdf' in c:\Apache\htdocs\index.php on line 4
--
Once is a mistake, twice is jazz.
echo $begrüßung;
warum funktioniert:
<?php
echo "hallo";
asdf
?>
>
> Erst eine zweite Stringzeile
>
> ~~~php
<?php
> echo "hallo";
> asdf
> asdf
> ?>
bringt den Fehler, den ich bereits beim ersten Beispiel erwartet hätte.
Dein asdf wird als Konstante interpretiert. Da du diese Konstante nirgends definiert hast, ist PHP so frei, stattdessen anzunehmen, du hättest einen String verwenden wollen. Das teilt es dir mittels einer (durch die Default-Einstellung des Error-Reportings allerdings unterdrückten) Notice-Meldung mit. Siehe Antwort von Blaubart. Ein String alleine ist ein durchaus gültiger Ausdruck, er hat nur keine weiteren Auswirkungen. Zwei Ausdrücke hintereinander, ohne Operator oder Befehlsende (;) dazwischen, ist ungültige PHP-Syntax. Vor dem schließenden ?> ist die Notation eines Befehlsende-Semikolons nicht nötig, was auch noch ein Grund ist, warum dein erstes Beispiel keinen Fehler gebracht hat.
echo "$verabschiedung $name";