发布于 2011-05-11 21:21:25
嗯,不是100%,如果PHP支持自动生动,但你发布的语法在大部分情况下是有效的。
// Works as you have assigned a value of 'hello'
$a['a'][4][6]['b'] = "hello";
var_dump($a);
echo print_r($a,true);
// works as you have assigned a value of 'world'
$b[][][][] = "world";
var_dump($b);
echo print_r($b,true);
// ERROR: Cannot use [] for reading
$c[];
var_dump($c);
echo print_r($c,true);
无法使用[]读取:Related Link
发布于 2011-10-26 09:40:26
在perl中,项在检查时会自动激活,不需要赋值。到达最里面的请求密钥所需的项的路径将在检查时创建。请注意,{d => undef} is条目并不是实际创建的,而是隐含的。
use strict;
use warnings;
use Data::Dumper;
my %a; # as is empty, equivalent to \%a is {};
print Dumper %a;
$a{b}{c}{d}; # \%a is now { b => { c => {}}}
# returns an undef value.
print Dumper \%a;
输出:
$VAR1 = {};
$VAR1 = {
'b' => {
'c' => {}
}
};
perl数组示例:
use strict;
use warnings;
use Data::Dumper;
my (@b,@c); # @b=(), @c=()
print Dumper \@b;
$b[3]; # @b=() aka unchanged.
print Dumper \@b;
$b[3][2][1]; # @b=(undef,undef,undef,[undef,undef,[]])
print Dumper \@b;
print Dumper \@c;
$c[3]=1 ; # @c=(undef,undef,undef,1)
print Dumper \@c;
输出:
Useless use of array element in void context at -e line 7.
Useless use of array element in void context at -e line 9.
$VAR1 = [];
$VAR1 = [];
$VAR1 = [
undef,
undef,
undef,
[
undef,
undef,
[]
]
];
$VAR1 = [];
$VAR1 = [
undef,
undef,
undef,
1
];
https://stackoverflow.com/questions/5964420
复制相似问题