Moin Jörg,
nur der Neugierde halber: Es war (ist) erlaubt in PHP (< 8) Stringparameter „nicht als Strings“ zu übergeben? Wer ist denn damals auf diese verwirrende Idee gekommen?
Naja, das war und ist ja nicht nur hier der Fall. In vielen Anwendungen wird versucht, bei einem Fehler des Anwenders bestmöglich nachzuempfinden, was er denn eigentlich wollte. Gib nur mal in der Suchmaschine Deiner Wahl einen fehlerhaft geschriebenen Suchbegriff ein.
Vielleicht denke ich da als programmierender Physiker zu „schräg“ (oder gerade aus), aber ich finde solche Uneindeutigkeiten gerade beim Lernen einer Programmiersprache immer sehr verwirrend und fehlerträchtig. Beispiel: Warum ist
echo Moin;
erlaubt und gibt (neben der Notice) Moin
aus, während
echo Moin Moin;
ein Syntaxfehler ist? Und was muss der Neuling feststellen, wenn er einen String verwenden möchte, den es aber schon als Namen einer Konstante gibt?
function quiz($answer) {
echo 'Is PHP a programming language? – ', $answer, "\n";
}
quiz(true);
Bei der Suchmaschine habe ich wenigstens die Wahl auch nach der „Falschschreibung“ suchen zu lassen.
Und die php-Entwickler dachten sich wohl, dass, so keine Konstante vorhanden, ein String dem am nächsten käme, was der User wollen würde.
Oder es ist eine Altlast aus der Anfangszeit der Sprache 😉
Viele Grüße
Robert