Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays Powershell-如何使用变量定义动态确定元素数的新数组线_Arrays_Variables_Powershell - Fatal编程技术网

Arrays Powershell-如何使用变量定义动态确定元素数的新数组线

Arrays Powershell-如何使用变量定义动态确定元素数的新数组线,arrays,variables,powershell,Arrays,Variables,Powershell,挑战是我希望它创建一个动态列数等于2+$n的数组行,$n列的值为0 相反,我得到一个元素$var1,$var2,0,0,0,0,0 我怎样才能转义它并用$n+2列创建我的行 预期产出: $array = @() $line = "`$var1,`$var2" for ($n = 0; $n -eq 5 , $n++ ){ $line= "$line"+",0"} $array += ,@($line) $array += ,@($line) 等

挑战是我希望它创建一个动态列数等于2+$n的数组行,$n列的值为0

相反,我得到一个元素$var1,$var2,0,0,0,0,0

我怎样才能转义它并用$n+2列创建我的行

预期产出:

 $array = @()
$line = "`$var1,`$var2"

for ($n = 0; $n -eq 5 , $n++ ){ $line= "$line"+",0"}

$array += ,@($line)
$array += ,@($line)                      

所以我可以用

$array[0][0] will return contents of $var1
$array[0][1] will return contents of $var2
$array[0][2] will return 0
$array[0][3] will return 0
$array[0][4] will return 0

$array[1][0] will return contents of $var1
$array[1][1] will return contents of $var2
$array[1][2] will return 0
$array[1][3] will return 0
$array[1][4] will return 0
这是你想要的吗

$array[0][4] = 1
输出: [DBG]:PS C:\Windows\system32>>$array[0][0] 试验

[DBG]:PS C:\Windows\system32>>$array[0][1] 测试1 0

0

0


0

不确定是否真正理解您的问题,以下是在PowerShell中创建二维数组的方法:

  $array = @(@(),@());
    $var1="test"
    $var2="test1"

    [string] $line = "$var1,$var2"

    for ($n = 0; $n -le 5 ; $n++ )
    { 

    $line+=",0"
    }

    $line
    $array[0]+=$line.Split(",")
    $array
您使用的是一个数组:

$tab= new-object ‘object[,]’ 3,3
$tab[0,0] = "hello"
在脚本$line=
“$var1,$var2”
中,不要创建一个数组,您应该编写
$line=“$var1”,“$var2”

你的
for
循环有一个输入错误
应替换
,并且应从原始选项卡的实际长度
$line
开始

更正后的代码如下:

$tab = ("hello","coucou"),("blue","red")
$tab[0][1]
然后


你能给出一个你正在寻找的输出的例子吗,只需键入几行…期望一个我可以返回$array[0][0]的数组将返回$var1$array[0][1]的内容将返回$var2$array[0][2]的内容将返回0$array[0][3]将返回0$array[0][4]将返回0 etcNeed以保持多维,因为我将有几百行或7-31+列(列长度由用户输入确定)@ontax,现在怎么样?干杯,JPBLanc,看起来它会成功,必须继续将PowerShell多维数组视为数组中的数组。@ontax,你也许可以把它当作回答。我要补充一点关于数组的意见。
$array = @()
$line = "`$var1","`$var2"
for ($n = $line.Length; $n -le 5 ; $n++ ){ $line+= "0"}
$array += ,@($line)
$array[0][1]
$var2