>foreachはどんな時に使えるのか教えてください(for文とは違うんですよね?)。
foreachは「配列のデータをまとめて処理したいとき」に使います。
for文もforeach文も、「ある処理を繰り返す」という機能を提供している点は共通していますが、以下の点が異なります。
● for文 = 「aという条件を満たす間、bという処理を繰り返す」という構文を組み立てるときに使います。
繰り返し処理を施す対象は、配列に限定されていません。
PHPで扱える対象なら何でもOKです。
例) for ( a ) { b };
● foreach文 = 配列のデータを対象にして、繰り返し処理を施すこときに使います。
配列専用の繰り返し処理機能ですね。
例1)普通の配列
$data =
array("あ", "か", "さ", "た", "な");
foreach ($data as $value) { //配列$dataから1行分ずつデータを$valueとして取り出す
echo $value; //配列のデータ$valueに対して処理を実行(この例では表示で使用)
}
↓
出力結果: あかさたな
例2)連想配列
$data =
array("a" => "あ", "ka" => "か", "sa" => "さ", "ta" => "た", "na" => "な");
foreach ($data as $key => $value) { //配列$dataから1行分ずつデータを$keyと$valueの対で取り出す
echo $key . $value; //配列のデータ$keyと$valueに対して処理を実行(この例では表示に使用)
}
↓
出力結果: aあkaかsaさtaたnaな
端的には、foreachの使い方はこれだけです。
>配列を使う機会がないように思えます
プログラミングの勉強をしている初期の頃、上達するコツとして、配列の使い方=データの出し入れ=習得しておくとイイヨというアドバイスがありました。
データの塊を扱うときに配列をうまく使えると、非常にスッキリしたコードになり「やっぱ配列は便利だわ~☆」と思えるようになると思います。
・データベースでデータの出し入れをするとき
・プルダウンメニューのリストをプログラムで組み立てるとき
とか、配列が重宝する局面はいろいろありそうですね。

kende様のご指摘通り、三項演算子を使用する際には、コードの複雑度などを考慮する必要がありますね。書きやすさと共に可読性も追求したいところですね。