misterunknown: String to Integer

Beitrag lesen

Moin,

Das 0-Byte dahinter ist erklärlich, weil PHPs explode() am Punkt schneidet.

Der Punkt ist eingerahmt von 0-Bytes. Eins davon gehört zu ihm, das andere gehört entweder zum vorhergehenden oder nachfolgenden Zeichen, je nach Bytereihenfolge. Doch das ist PHP egal. Es sieht den Punkt und das 0-Byte davor kommt zum ersten Teilstring, das danach kommt zum zweiten Teilstring.

Eben. Der Original-String müsste in ISO-Latin gelesen "1_1_._1_1_._2_0_1_1_" gewesen sein[*], wobei ich mit den Unterstrichen hier die Nullbytes repräsentieren möchte. Trenne ich das nun mit explode() an den Punkten, erhalte ich

[0]   "1_1_"
  [1]   "_1_1_"
  [2]   "_2_0_1_1_"

Das erste Fragment wird durch intval zu 1 ausgewertet, die anderen beiden zu 0, weil sie nicht mit einer Ziffer beginnen. Man beachte den Hinweis im Handbuch

Woher zum Geier weiß man sowas?^^ Ich bin immer bemüht so viel wie möglich zu lernen. Aber auf alles, wenn ich etwas verstanden habe, kommen 100 Sachen, die neu sind...
Frustrierend.

Grüße Marco