Regina Schaukrug: Umstellung auf php 7.1 :: Umstieg auf mysqli verpasst?

Beitrag lesen

Sowohl in PHP als auch in hhvm keine Notiz - obwohl eigentlich eingeschaltet! Aber das hier: (Fehlerhaftes Ergebnis ist bei t4)

Das ist ja auch kein Fehler, sondern beschriebenes Verhalten. Der Zugriff auf einzelne Zeichen von Strings mittels []-Operator ist auch keine PHP-Besonderheit, sondern üblich in vielen Sprachen.

t4:fbr

Von den zugewiesenen Strings wird das erste Zeichen genommen, weil du ja einen Zeichenzugriff auf $t4 notiert hast.

Das stimmt ja alles. Ich sehe das so: Jemand versucht einem (vermeintlichen) Array-Element, welches aber keines ist, nur ein Zeichen verträgt, einen String mit mehr als einem Zeichen (oder Byte) zuzuweisen. Das Verhalten mag dokumentiert sein, aber wenn wie gezeigt und gut zu sehen von dem String nur das erste Zeichen genommen und der Rest ignoriert wird, also Daten ohne explizite Programmvorschrift verändert werden, dann ist mindestens eine Notiz fällig.

Ich halte das gezeigte Verhalten auf Grund der unterbleibenden Notiz für einen Designfehler von PHP.