将变量声明为字符串,然后将其用作数组?

时间:2020-09-30 21:31:15

标签: php php-7.4

在PHP中做了一些更改,将变量声明为字符串,然后再将其用作数组是不可行的。我们升级到了bitnamies wamp stack,它破坏了我们的应用程序。变量之一

$change="";

然后使用

$change[$k] = "this";

它仍然是单个字符串,而不是变成数组。这是我可以更改的php.ini配置吗?

1 个答案:

答案 0 :(得分:4)

从7.1开始,您描述的行为已更改。查看Assignment via string index access on an empty string

的更改日志

在空字符串上按字符进行字符串修改现在类似于 非空字符串,即写入超出范围的偏移量填充 带空格的字符串,其中非整数类型会转换为整数, 并且仅使用分配的字符串的第一个字符。以前, 空字符串,它们像空数组一样被静默处理。

{
  "message": "Internal server error"
}

PHP 7看到了许多改进,这些改进使“更严格”的键入成为可能,并允许更好的type hinting。但是,PHP仍然被认为是一种松散类型的语言。从7.0开始,一些示例包括Scalar type declarationsReturn type declarationsstrict_types指令。