PowerShellの配列の使い方のサンプルです。
サンプル | 配列とは |
配列を作成 / 要素を追加 | |
要素を取得(for文、foreach文) | |
要素を検索(Where-Object) | |
配列の値を昇順と降順でソート(Sort-Object) |
配列とは
$arr = 値1 , 値2 , 値3 |
上記は複数の値を変数aに代入しています。
この変数aは配列として複数の値を持ちます。
配列の図
- 1つの変数で複数の値を保持できます。
- 各項目を要素(element)といいます。
- 配列のそれぞれの値は添字(インデックス番号)でアクセスできます。上記図では[0]、[1]、[2]、[3]が添字です。
- 添字は0から始まります。
配列を作成
$arr1 = "A", "B", "C"
foreach ($str in $arr1) {
Write-Host $str # A B C
}
$arr2 = @("D", "E", "F")
foreach ($str in $arr2) {
Write-Host $str # D E F
}
$arr3 = 1..3
foreach ($num in $arr3) {
Write-Host $num # 1 2 3
}
$arr4 = @()
配列を作成しています。
1行目は、カンマ区切りです。
7行目は、@とかっこで値を区切っています。
13行目は、数値で連続した値になります。
19行目は、空の配列を作成します。
要素を追加
変数 = 変数 + 値 |
変数 += 値 |
$arr = @()
$arr = $arr + "A"
$arr = $arr + "B"
$arr += "C"
Write-Host $arr[0] # A
Write-Host $arr[1] # B
Write-Host $arr[2] # C
1行目の@()は、空の配列を作成します。
3~5行目は要素を追加しています。5行目のように+=のみでも追加できます。
要素を取得(for文、foreach文)
$arr = "A", "B", "C" # 配列
for ($i = 0; $i -lt $arr.Length; $i++) {
Write-Host $arr[$i] # A B C
}
foreach ($str in $arr) {
Write-Host $str # A B C
}
3行目はfor文です。添字[$i]で各要素にアクセスします。
7行目はforeach文です。添字はありません。
要素を検索(Where-Object)
配列に該当の値が存在するときtrueになるサンプルです。
$arr1 = "A", "B", "C" # 配列
if ($arr1 | Where-Object {$_ -eq "B"}){
Write-Host 'hit' # hit
}
-eq以外の演算子も可能です。
配列の値を昇順と降順でソート(Sort-Object)
$arr1 = 100, 2, 99 # 配列
$arr2 = $arr1 | Sort-Object
Write-Host $arr2 # 2 99 100
$arr3 = $arr1 | Sort-Object -Descending
Write-Host $arr3 # 100 99 2
3行目は、昇順になります。
7行目は、末尾に-Descendingをつけて降順にしています。
関連の記事