宣布PHP 7 支持“一致的 64 位”。这是什么意思?
PHP 7 是否支持类似于PHP 6 计划的Unicode (unicode.semantics
指令等)?如果没有,它什么时候会原生支持 Unicode?
宣布PHP 7 支持“一致的 64 位”。这是什么意思?
PHP 7 是否支持类似于PHP 6 计划的Unicode (unicode.semantics
指令等)?如果没有,它什么时候会原生支持 Unicode?
我认为这与RFC: 64 bit platform Improvement for string length and integer in zval 有关。
正如@cybersoft 已经提到的,看起来冰山的可见部分是,Windows 上的 PHP 7 x64 现在有 64 位整数,而 PHP 5.6 x64 在这个平台上仍然有 32 位整数。
有一个64 位整数类型的 RFC ,但自 2010 年以来它仍在进行中,所以看起来我们仍然没有在 32 位平台上获得 64 位整数。
AFAIK,没有类似于 PHP 6 计划的 Unicode 实现string
。在可预见的未来,PHP 仍将处理二进制类型,而UString 的 RFC建议为 Unicode 字符串添加新类型,仍在讨论中,因此不会将其纳入 PHP 7.0。
但是,只要您使用mb_*()函数而不是基本的字符串函数,PHP 仍然可以很好地使用 UTF-8。
请注意,PHP 7 还引入了有助于处理 UTF-8 字符串的Unicode 代码点转义语法。
据我了解,这意味着 64 位版本的 PHP 现在具有 64 位整数。以前,x64 Windows 上只有 32 位整数。