PHP 数组键的约束
在 PHP 中,数组键在允许的内容方面可以表现出令人惊讶的灵活性。 php.net 文档阐明了以下内容:
数组键:
- 可以是整数或字符串。
可以从各种类型进行转换:
- 包含有效整数的字符串将被转换为整数(例如,“8”变成 8)。
- 浮点数被转换为整数,截断小数部分(例如,8.7 变为 8)。
- 布尔值转换为整数(true = 1,false = 0)。
- Null 转换为空字符串。
- 数组和对象不能用作键。
键的字符串内容:
PHP 进一步指定: 用作键的字符串可以包含 PHP 支持的 256 个字符集中的任何二进制数据。这意味着任何二进制数据都可以作为 PHP 数组中的有效键。
数组键的实际滥用:
而PHP 允许多种键类型,值得注意的是,误用数组键中的字符可能会导致不可预测的行为或意外结果。例如:
<code class="php">$w = array(chr(0) => 'null byte?', chr(rand(0, 255)) => 'random byte?'); var_dump($w); // Outputs "object(stdClass)" instead of displaying the array</code>
因此,建议使用定义明确且可预测的字符作为数组键,以避免潜在的问题。
以上是PHP 数组键有哪些限制?的详细内容。更多信息请关注PHP中文网其他相关文章!