【问题标题】:PHP 7 Unicode-support and platform-independencePHP 7 Unicode 支持和平台无关
【发布时间】:2015-06-26 06:54:23
【问题描述】:

宣布PHP 7 supports "consistent 64-bit"。这是什么意思?

PHP 7 是否支持类似于 planned for PHP 6unicode.semantics 指令等)的 Unicode?如果没有,它什么时候会原生支持 Unicode?

【问题讨论】:

  • 为什么要转发?为什么还要混淆这两个话题?长整数和 Unicode 没有任何关系。

标签: php php-7


【解决方案1】:

一致的 64 位支持

我认为这与RFC: 64 bit platform improvements for string length and integer in zval有关。

正如@cybersoft 已经提到的,看起来冰山的可见部分是,Windows 上的 PHP 7 x64 现在有 64 位整数,而 PHP 5.6 x64 在这个平台上仍然有 32 位整数。

有一个64-bit integer type 的 RFC,但它自 2010 年以来仍在进行中,所以看起来我们在 32 位平台上仍然没有获得 64 位整数。

Unicode 支持

AFAIK,没有类似于 PHP 6 计划中的 Unicode 实现。在可预见的未来,PHP 仍将处理二进制 string 类型,而 RFC for UString 建议添加一个Unicode 字符串的新类型,仍在讨论中,因此不会进入 PHP 7.0。

但是,只要您使用 mb_*() 函数而不是基本的字符串函数,PHP 仍然可以很好地使用 UTF-8。

请注意,PHP 7 还引入了一个 Unicode Codepoint Escape Syntax 来帮助处理 UTF-8 字符串。

【讨论】:

    【解决方案2】:

    据我了解,这意味着 64 位版本的 PHP 现在具有 64 位整数。以前,x64 Windows 上只有 32 位整数。

    【讨论】: