$binary = b'Binary string';
Welche Folgen hat es, eine Zeichenkette als b
inary?
Ich konnte in der Dokumentation keinen Hinweis darauf finden. Ich habe diese kleine Kuriosität gerade gefunden, als ich den language_scanner durchgesehen habe.
$binary = b'Binary string';
Welche Folgen hat es, eine Zeichenkette als b
inary?
Ich konnte in der Dokumentation keinen Hinweis darauf finden. Ich habe diese kleine Kuriosität gerade gefunden, als ich den language_scanner durchgesehen habe.
Dies ist ein Vorwärtskompatibilitäts-Token für die nie erscheinende PHP-Version 6, die native Unicode-Unterstützung hätte haben sollen.
In PHP6 sind Strings standardmäßig Unicode, und die Funktionen arbeiten auf der Ebene der Unicode-Zeichen. Dieses "b" steht für "binary string", d.h. einen Nicht-Unicode-String, auf den die Funktionen auf Byte-Ebene zugreifen.
Dies hat keinen Effekt in PHP != 6, wo alle Strings binär sind.
Binäres Casting ist seit 5.2.1 verfügbar, aber wird erst mit der Version 6.0 in Kraft treten wenn Unicode-Zeichenfolgen ebenfalls wirksam werden.
Das erklärt, warum dies bei mir auf einem Server mit 5.2.6 nichts Besonderes bewirkt:
<?php
$t = b"hey";
var_dump($t);
//string(3) "hey"
$s = (binary)"hey";
var_dump($s);
//string(3) "hey"
?>
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.