开发者社区> 问答> 正文

PHP阵列键中允许使用的字符?

我有一些用很多奇怪的字符填充的php数组键。

可以吗?我不能使用的东西有什么限制吗? 问题来源于stack overflow

展开
收起
保持可爱mmm 2020-02-08 14:38:22 516 0
1 条回答
写回答
取消 提交回答
  • 根据手册:

    键可以是整数或字符串。该值可以是任何类型。

    此外,将进行以下按键强制转换:

    包含有效整数的字符串将转换为整数类型。例如,键“ 8”实际上将存储在8以下。另一方面,由于它不是有效的十进制整数,因此不会强制转换“ 08”。 浮点数也被强制转换为整数,这意味着小数部分将被截断。例如,密钥8.7实际上将存储在8以下。 布尔也被强制转换为整数,即,键true将实际存储在1以下,而键false将存储在0以下。 空值将强制转换为空字符串,即键空值实际上将存储在“”下。 数组和对象不能用作键。这样做将导致警告:偏移量类型非法。 再次手册:

    字符串是一系列字符,其中一个字符与一个字节相同。这意味着PHP仅支持256个字符的集合,因此不提供本机Unicode支持。查看字符串类型的详细信息。

    简而言之,任何字符串都可以作为键。一个字符串可以包含任何二进制数据(最大2GB)。因此,键可以是任何二进制数据(因为字符串可以是任何二进制数据)。

    数组键的一些随机(有效)滥用:

    $w = array(chr(0) => 'null byte?', chr(rand(0, 255)) => 'random byte?'); var_dump($w);

    2020-02-08 14:38:32
    赞同 展开评论 打赏
问答分类:
PHP
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
阿里云栖开发者沙龙PHP技术专场-直面PHP微服务架构挑战-高驰涛 立即下载
PHP安全开发:从白帽角度做安全 立即下载
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载