dedlfix: Fehler bei PHP switch ausgabe

Beitrag lesen

echo $begrüßung;

Es ist keine spezielle Eigenart von PHP, Zahlen mit führenden Nullen als Oktalschreibweise zu interpretieren. Das findest du auch in anderen Sprachen zur Genüge. Der daraus resultierende Typ ist dabei immer der gleiche wie bei einer in Dezimal- oder Hex-Schreibweise notierten Zahl. Es ist ja nur eine andere Notation für den gleichen Wert.

Das stimmt, aber normalerweise deklariere ich den Typ einer Variablen bei der Erstellung derselben. In PHP eben nicht, und so kommt es dann zu solchen dummen Fehlern (die natürlich durch mich verschuldet sind, weil man einfach zu wenig darüber nachgedacht hat)...

Nein, den gleichen Fehler bekommst du auch in typisierten Sprachen. Nicht der Typ ist entscheidend sondern die Notation des Wertes.

int variable = 070;

ergibt auch in C keine dezimale 70 sondern 56. Genauso verhält es sich mit

int variable = 0x38;

was ebenfalls eine dezimale 56 ergibt.

Das einzige, was PHP nicht macht, ist eine Fehlermeldung zu werfen, wenn es eine ungültige Oktalzahl (z.B: 08) präsentiert bekommt.

echo "$verabschiedung $name";