将多维数组传递给函数

时间:2012-07-16 20:56:32

标签: arrays function powershell parameters multidimensional-array

我有一个只在函数内部工作的多维整数数组,但在我尝试将它传递给另一个函数时会产生随机数。

PS> $array
1
2
3
4
PS> $array[0]
1
2
PS> $array[0][1]
2

阵列最初由以下形成:

$array = @(($data1),($data))

并在其后的任何数组的$ data上附加:(每次迭代清除$ data)

$array += ,($data)

这似乎很好,在我尝试创建函数之前考虑一切正常。 然后我尝试将数组传递给另一个函数

theFunc ($array)
    Function theFunc {
    param ($theData)
    #process data
    }

我正在获得正确的数组,但是它们内部的数字与我在一位传递的多维数组不匹配。 感谢任何帮助,谢谢。

1 个答案:

答案 0 :(得分:1)

我尝试了以下示例,一切似乎都很好:

$data1 = @(1, 2, 3, 4)
$data2 = @(5, 6, 7, 8)
@($data1, $data2)
$array[0]
1
2
3
4
$array[1]
5
6
7
8
function myFunc { param($arr) $arr; $arr[0]; $arr[1]; }
myFunc($array)
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8

请提供你得到的输出。