【问题标题】:is reliability array keys, which started no alphanumeric and not dash symbols? [closed]是可靠性数组键,它开始没有字母数字而不是破折号? [关闭]
【发布时间】:2026-01-25 07:10:01
【问题描述】:

我有这个代码

$arr['... key'] = 'value';

这有效且不返回错误,但我感兴趣的是,数组键有多少合理性,例如 '... key' ? (这里,在点之后,也是空间)。由于这些键,可能会遇到一些问题?

【问题讨论】:

  • 无论你输入什么,字符串都是字符串 :-)

标签: php arrays key


【解决方案1】:

没有理由不能使用任何你想要的字符串作为键名。它不会导致任何错误或其他问题。您可能很难记住或跟踪奇怪的键,并且在设计方面使用它们可能不是一个好主意,但 PHP 不在乎。

【讨论】:

    【解决方案2】:

    认真地说:如果你想使用 ... 没关系,任何刺痛都可以,但不常见,可能会让其他人感到困惑,某些字体\屏幕可能会使它们难以阅读 - 所以我不会,但如果你愿意,你可以。

    键可以是整数或字符串。该值可以是任何 类型。 此外,还会发生以下关键转换:

    • 包含有效整数的字符串将被转换为整数类型。例如。键“8”实际上将存储在 8 下。另一方面
      "08" 不会被强制转换,因为它不是有效的十进制整数。
    • 浮点数也被转换为整数,这意味着小数部分将被截断。例如。密钥 8.7 将实际存储 8 岁以下。
    • Bools 也被转换为整数,即键 true 将实际存储在 1 下,而键 false 将存储在 0 下。
    • Null 将被强制转换为空字符串,即键 null 将实际存储在 "" 下。
    • 数组和对象不能用作键。这样做会导致警告:Illegal offset type。

    http://www.php.net/manual/en/language.types.array.php

    【讨论】: