2

関数内でのみ機能する整数の多次元配列がありますが、それを別の関数に渡そうとすると乱数が生成されます。

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 ビットで渡した多次元配列と一致しません。どんな助けでも大歓迎です、ありがとう。

4

1 に答える 1

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

得られた出力を提供してください。

于 2012-07-16T21:08:11.360 に答える