第17回: 配列(添字配列) — 複数のデータをひとまとめにする基本構造
$score1 = 80; $score2 = 90; のように変数を並べても、人数が増えた瞬間に破綻します。添字配列を使えば、同じ種類の値を番号付きで管理でき、ループで一括処理できるようになります。
Author
$score1 = 80; $score2 = 90; のように変数を並べても、人数が増えた瞬間に破綻します。添字配列を使えば、同じ種類の値を番号付きで管理でき、ループで一括処理できるようになります。
for・foreach・while のすべてのループで使える break と continue を知ると、ループ内の制御が柔軟になります。不要な処理をスキップしたり、条件を満たした時点でループを抜けたりできるようになり、パフォーマンスとコードの読みやすさが向上します。
for文で配列を走査するとき、$i < count($array) の条件を書き忘れたり、添字を1つずらしてしまったりするミスが起きやすいです。foreach文を使えば添字の管理が不要になり、配列処理のバグを大幅に減らせます。
while文でも同じことは書けますが、「初期化・条件・増減」がバラバラに書かれると意図が読み取りにくくなります。for文はこれらを1行にまとめることで、「何回ループするか」を一目で伝えられます。
for文は「回数が決まっているループ」に向いていますが、while文は「条件が真の間くり返す」ループです。ページネーションのデータ取得、キューの処理、入力値の検証ループなど、終了タイミングが動的に決まる処理に活用できます。
PHP 8で導入された match 式は、switch文の課題を解消した新しい分岐構文です。型まで厳密に比較し、戻り値として扱えて、breakも不要。短くて安全なコードが書けるようになります。
「ユーザーのロールに応じて表示を変える」「ステータスコードに応じてメッセージを出す」——固定値との比較が続く分岐は、switch文を使うと意図が明確になります。if-elseifの羅列より読みやすく、後からケースを追加しやすい構造です。
if文はプログラムに「もし〇〇なら△△する」という判断を与える構文です。Webアプリのほぼすべての機能——ログイン制御、フォームバリデーション、権限管理——にif文が使われています。まず基本をしっかり理解しましょう。
業務ルールには「〇〇かつ△△」「〇〇または△△」のような複合条件が頻繁に登場します。論理演算子(AND・OR・NOT)を使うと、こうした条件をコードに正確に、かつ読みやすく反映できます。
PHPには「型を無視して比較する ==」と「型まで含めて比較する ===」の2種類があります。この違いを知らずに == だけ使っていると、思わぬ誤判定でバグが発生します。比較演算子を正しく使えると、条件分岐の精度が大幅に上がります。