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