Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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_Powershell_Hashtable - Fatal编程技术网

Arrays 如何在powershell中创建哈希表数组?

Arrays 如何在powershell中创建哈希表数组?,arrays,powershell,hashtable,Arrays,Powershell,Hashtable,我有一个如下结构的哈希表 $podhashtable = @{2 = '1','2' ; 3 = '3','4','5' ; 1 = '6'} 下面是我如何实现上述哈希表的代码 $podnumbers = @(2,3,1) $podInfo = @() $podhashtable = [ordered]@{} $buff = 0 foreach ($pd in $podnumbers) { #$podInfo = @() for($i=0;$i -lt $pd;$i = $i+

我有一个如下结构的哈希表

$podhashtable = @{2 = '1','2' ; 3 = '3','4','5' ; 1 = '6'}
下面是我如何实现上述哈希表的代码

$podnumbers = @(2,3,1)
$podInfo = @()
$podhashtable = [ordered]@{}
$buff = 0
foreach ($pd in $podnumbers) {
    #$podInfo = @()
    for($i=0;$i -lt $pd;$i = $i+1) {
    $pod = Read-Host -Prompt "Assign the pod numbers for",$esxarray[$buff]
    $podinfo += $pod
    }

$podInfoOb = New-Object PSObject –Property $podsets
$podsets = @{$pd = $podInfo}
$podhashtable += $podsets
$buff = $buff + 1
}
Write-Output $podhashtable 
我试图创建如下所示的哈希表数组

$podhashtable = @{2 = '1','2'}, @{3 = '3','4','5'}, @{1 = '6'}

获取上述哈希表数组的最佳方法是什么?

这个问题显然是指:

我猜你想这样做:

$buff = 0
$podnumbers = @(2,3,1,2)
$podhashtable = foreach ($pd in $podnumbers) {
    $podInfo = @{}
    for($i=0; $i -lt $pd; $i = $i+1) {
        $pod = Read-Host -Prompt "Assign the pod numbers for" # , $esxarray[$buff]
        $podinfo[$i] = $pod
        # $podInfoOb = New-Object PSObject –Property $podsets
        $podInfo
        $buff = $buff + 1
    }
}
Write-Output $podhashtable

但我不能确定,因为您没有提供(请下次提供;例如:定义
$esxarray
或将其忽略)。

实际上是的,但根据您引用的问题,没有满足我的目标,因为哈希表不允许重复键。虽然使用哈希表数组以便添加具有不同值的重复键,但我不确定是否理解问题仍然存在。我在(更新的)答案中添加了一个重复的键(
$podnumbers=@(2,3,1,2)
),这是基于我尝试了您的方法,该方法允许添加重复键,但它将重复键的值合并在一起,我希望添加具有不同值的重复键,并独立地表示这些键。您可以通过将
$podInfo
(和
$buff=$buff+1
)放置在
for
循环中来实现这一点。(我已相应地更新了答案)。