我卡住了。
我想创建一个具有以下结构的多点数组
$x[index]['word']="house"
$x[index]['number']=2,5,7,1,9其中索引是从0到.N
第二维有两个字段"word“和"number”。
这两个字段中的每一个都包含一个数组(第一个带有字符串,第二个带有数字)。
我不知道如何声明这个$x
我试过了
$x = @(()),@(@()) - doesn't work或
$x= ("word", "number"), @(@()) - doesn't work either或
$x = @(@(@(@()))) - nope然后,我想像这样使用这个数组:
$x[0]["word"]= "bla bla bla"
$x[0]["number]= "12301230123"
$x[1]["word"]= "lorem ipsum"
$x[2]["number]=...
$x[3]...
$x[4]...最常见的错误是
数组分配失败,因为索引“0”超出了范围。 无法索引到System.Char/ into 32类型的对象
我希望使用arrays[][]或jaws @来完成这一任务,但不使用.net。
我想我漏掉了什么。
发布于 2013-05-10 16:13:43
您可以创建一个数组,并使用哈希表初始化它:
$x=@(@{})*100;
0..99 | foreach {$x[$_]=@{}};
$x[19]["word"]="house";
$x[19]["number"]=25719;您需要一个大数组,例如长度为100的数组。请注意括号中的差异!
您需要第二步,因为在前面的命令中,哈希表的指针被复制了100次.你不想这样:)
现在测试它:
$x[19]["number"];
25719
$[19]["word"];
househttps://stackoverflow.com/questions/16478941
复制相似问题