分かりやすく、使いやすく。

for で配列の全ての要素を処理する方法

スポンサーリンク

PowerShell では for を使用して配列の全ての要素を処理することができます。

  1. 通常の配列の場合
  2. 2 次元配列の場合


通常の配列の場合

for で配列のすべての要素を表示するサンプルコードは次の通りです。

PowerShell(実行可能なサンプルコード)
1
2
3
4
5
6
7
8
# 要素が 5 個の配列を作成
$ary_names = @('太郎','次郎','三郎','四朗','五郎')
 
# $ary_namesの要素を 1 つずつ $str_name に格納してループする
for($i = 0; $i -lt $ary_names.Count; $i++){
  Write-Host ('$iの値→' + $i);
  Write-Host $ary_names[$i];
} 

実行結果は次の通りです。

$iの値→0
太郎
$iの値→1
次郎
$iの値→2
三郎
$iの値→3
四朗
$iの値→4
五郎 

2 次元配列の場合

2 次元配列を for で処理するサンプルコードは次の通りです。

PowerShell(実行可能なサンプルコード)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 2 次元配列を作成
$ary = @(
           @(10,11,12),
           @(20,21,22),
           @(30,31,32)
       );
 
# for でループする
for($i = 0; $i -lt $ary.Count; $i ++){
    $inner_ary = $ary[$i];
 
    for($x = 0; $x -lt $inner_ary.Count; $x++){
        Write-Host ('$iの値 →' + $i);
        Write-Host ('$xの値 →' + $x);
        Write-Host $inner_ary[$x];
    }
} 

実行結果は次の通りです。

$iの値 →0
$xの値 →0
10
$iの値 →0
$xの値 →1
11
$iの値 →0
$xの値 →2
12
$iの値 →1
$xの値 →0
20
$iの値 →1
$xの値 →1
21
$iの値 →1
$xの値 →2
22
$iの値 →2
$xの値 →0
30
$iの値 →2
$xの値 →1
31
$iの値 →2
$xの値 →2
32 

for では $i などのインデックスの取り扱いを間違えてバグを混入させる可能性があるので、インデックスの値が不要である場合は foreach でループすることをお勧めします。foreach のループの詳細についてはforeach で配列の全ての要素を処理する方法を参照してください。

スポンサーリンク
スポンサーリンク