Вы должны думать о многомерном массиве как о таблице со строками и столбцами, например:
поэтому в вашем примере, где вы хотите получить первые два столбца в первой строке, вы хотите получить
$array[0][0]
$array[0][1]
Вы можете проверить это, запустив:
Write-Host $array[0][0]
Write-Host $array[0][1]
То, что вы делаете, выполняет итерацию по каждой строке и распечатывает столбец 0 для каждой строки.
Foreach ($a in $array)
{
Write-Host $a[0]
}
Это означает, что каждая строка в $ array печатает столбец 0. Чтобы ваш код работал должным образом, вам нужно изменить $array
на $array[0]
:
Foreach ($a in $array[0])
{
Write-Host $a
}
Это даст ожидаемые результаты и будет читаться как столбец foreach в строке 0 столбца печати. Цикл, однако, не нужен, так как вы можете получить тот же результат, просто используя:
Write-Host $array[0]
Который просто печатает весь ряд.