我在將現有的vbs腳本轉換爲PowerShell腳本時遇到了一些問題。我在這裏用一些虛擬代碼而不是我原來的代碼來說明。在示例1中,我只有一組元素在數組中,在將數組變量返回給函數時,它將只顯示P.從函數返回多維數組
但是在示例2中,在數組中有兩組元素的情況下,在將數組變量返回給函數時,它將正確顯示元素。
如果您在示例1和2中的函數中打印數組。獲取結果沒有任何問題。
我已經使用Google並且無法找到任何解決方案。非常感謝您的幫助。
實施例1:
function testArray {
$array1 = @()
$array1 += ,@("Apple","Banana")
return $array1
}
$array2 = testArray
Write-Host $array2[0][1]
結果爲 「P」。
實施例2:
function testArray {
$array1 = @()
$array1 += ,@("Apple","Banana")
$array1 += ,@("Orange","Pineapple")
return $array1
}
$array2 = testArray
Write-Host $array2[0][0]
結果爲 「蘋果」。
'返回$ array1' - >'回報,$ array1'或'$數組2 = testArray' - >'$數組2 = @(testArray)' – PetSerAl
@petseral它的工作原理,或者它只是PowerShell的語法? –
PowerShell展開函數返回的數組。通過將數組構造運算符(',')前置到返回數組中,將其包裝在另一個數組中,該數組在返回時展開,從而使嵌套數組保持原樣。 –