Oll*_*ass 17 php perl autovivification
搜索PHP.net进行自动更新无法获得任何结果.在撰写本文时,维基百科声称只有Perl拥有它.在Google搜索"php autovivification" 时,没有明确的确定结果.
这个PHP代码运行正常:
$test['a'][4][6]['b'] = "hello world";
var_dump($test);
array
'a' =>
array
4 =>
array
'b' =>
array
...
Run Code Online (Sandbox Code Playgroud)
任何人都可以提供PHP确实具有此功能的规范答案(最好使用引用),以及任何细节,例如它引入的版本,怪癖,快捷方式等?
Kel*_*lly 11
是的,PHP确实具有autovivification(并且已经使用了很长时间),尽管它没有被该术语引用. PHP.net声明:
可以通过在其中显式设置值来修改现有数组.
这是通过为数组赋值,在括号中指定键来完成的.也可以省略该键,从而产生一对空括号([]).
Run Code Online (Sandbox Code Playgroud)$arr[key] = value; $arr[] = value; // key may be an integer or string // value may be any value of any type如果$ arr尚不存在,它将被创建,因此这也是创建数组的另一种方法.
但是,文档说明如果您尝试访问未设置数组(或键)的值,它将返回错误:
尝试访问尚未定义的数组键与访问任何其他未定义的变量相同:将发出E_NOTICE级错误消息,结果将为NULL.
我已经找到了旧的PHP3手册,其中说明了这一点:
您还可以通过简单地向数组添加值来创建数组.
Run Code Online (Sandbox Code Playgroud)$a[] = "hello";