我有一些用很多奇怪的字符填充的php数组键。
可以吗?我不能使用的东西有什么限制吗? 问题来源于stack overflow
根据手册:
键可以是整数或字符串。该值可以是任何类型。
此外,将进行以下按键强制转换:
包含有效整数的字符串将转换为整数类型。例如,键“ 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);
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。