ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
各言語の if 文の書き方
PHP
$age = 20;
if ($age >= 20) {
echo "成人";
} elseif ($age >= 13) { // PHP は elseif と else if の両方可
echo "ティーン";
} else {
echo "未成年";
}
// 短縮形(テンプレート向け)
if ($age >= 20):
echo "成人";
elseif ($age >= 13):
echo "ティーン";
else:
echo "未成年";
endif;
// 1 行(波括弧省略は推奨されない)
if ($age >= 20) echo "成人";
JavaScript / TypeScript
const age = 20;
if (age >= 20) {
console.log("成人");
} else if (age >= 13) { // JS は else if (スペース必須)
console.log("ティーン");
} else {
console.log("未成年");
}
// truthy/falsy 評価
const name = "";
if (name) {
// 空文字は falsy なのでここは実行されない
} else {
console.log("空");
}
Python
age = 20
if age >= 20:
print("成人")
elif age >= 13: # Python は elif
print("ティーン")
else:
print("未成年")
# 1 行(pythonic ではないが書ける)
if age >= 20: print("成人")
# in 演算子と組み合わせ
status = "paid"
if status in ("paid", "shipped", "delivered"):
print("確定")
Java
int age = 20;
if (age >= 20) {
System.out.println("成人");
} else if (age >= 13) {
System.out.println("ティーン");
} else {
System.out.println("未成年");
}
// Java 14+ switch 式
String label = switch (age / 10) {
case 0, 1 -> "未成年";
case 2, 3, 4 -> "成人";
default -> "シニア";
};
三項演算子
| 言語 | 記法 |
|---|---|
| PHP / JS / Java / C / C++ | cond ? a : b |
| Python | a if cond else b |
| Kotlin / Scala | if (cond) a else b(式として) |
| Rust | if cond { a } else { b }(式として) |
// PHP
$label = $age >= 20 ? "成人" : "未成年";
// PHP Elvis 演算子(true なら左を返す)
$name = $input ?: "デフォルト";
// $input が truthy なら $input、そうでなければ "デフォルト"
// ネスト(読みづらいので避ける)
$label = $age >= 20 ? "成人" : ($age >= 13 ? "ティーン" : "未成年");# Python
label = "成人" if age >= 20 else "未成年"
# ネスト
label = "成人" if age >= 20 else "ティーン" if age >= 13 else "未成年"
Null 合体演算子
// PHP 7+ Null 合体 ??
$name = $_POST['name'] ?? 'ゲスト';
// $_POST['name'] が null または未定義なら 'ゲスト'
// Null 合体代入 (PHP 7.4+)
$config['timeout'] ??= 30; // 未設定なら 30
// 注意: 空文字 '' は null ではないので通る
$x = '' ?? 'default'; // → ''// JS ES2020 Nullish Coalescing ??
const name = userInput ?? "ゲスト";
// userInput が null または undefined なら "ゲスト"
// "" や 0 や false は通る
// Optional Chaining ?.
const city = user?.address?.city ?? "不明";
// 代入版 (ES2021)
config.timeout ??= 30;
PHP 8.0+ match 式
switch の進化版。厳密比較 (===)、値を返せる、暗黙フォールスルー無し:
$status = 'paid';
// match (PHP 8.0+)
$label = match ($status) {
'pending' => '保留中',
'paid' => '支払済',
'shipped' => '出荷済',
'cancelled' => 'キャンセル',
default => '不明',
};
// 複数値マッチ
$tier = match (true) {
$age < 13 => 'kids',
$age >= 13 && $age < 20 => 'teen',
$age >= 20 => 'adult',
};
// 比較: 旧来の switch
switch ($status) {
case 'paid':
$label = '支払済';
break; // ← break 忘れがちなバグの温床
default:
$label = '不明';
}
Swift の guard
Swift には条件を満たさないときに早期 return する guard 文があります:
func loadUser(id: Int?) -> User? {
// 条件を満たさなければ即 return
guard let id = id, id > 0 else {
return nil
}
// ここ以降では id は Int (アンラップ済)
return User(id: id)
}
複合条件: && と ||
// && (AND) と || (OR)
if ($user !== null && $user->isActive && $user->age >= 20) {
// すべて true のとき
}
if ($status === 'paid' || $status === 'shipped') {
// どちらか true
}
// 短絡評価
if ($user && $user->name) { // $user が null なら $user->name は評価されない
echo $user->name;
}
// 演算子の優先度 (! > && > ||)
if (!$flag && $x || $y) {
// = (!$flag && $x) || $y と解釈される
}
// 明示的に括弧
if ((!$flag && $x) || $y) { ... }
コードスタイル: 早期 return とガード節
ネストが深い if は読みづらい。異常系を先にはじいて return するスタイルが推奨されます:
// ❌ ネストが深い
function process($user) {
if ($user !== null) {
if ($user->isActive) {
if ($user->age >= 20) {
return doSomething($user);
} else {
return '未成年';
}
} else {
return '非アクティブ';
}
} else {
return 'ユーザーなし';
}
}
// ✅ ガード節で早期 return
function process($user) {
if ($user === null) return 'ユーザーなし';
if (!$user->isActive) return '非アクティブ';
if ($user->age < 20) return '未成年';
// 正常系
return doSomething($user);
}
言語別の比較表
| 機能 | PHP | JS | Python | Java |
|---|---|---|---|---|
| elseif キーワード | elseif / else if | else if | elif | else if |
| 三項演算子 | ?: | ?: | a if c else b | ?: |
| Null 合体 | ?? (7+) | ?? (ES2020) | or 慣用 | Optional API |
| match / switch 式 | match (8+) | ×(switch のみ) | match (3.10+) | switch 式 (14+) |
| 波括弧 | 必須 | 必須 | ×(インデント) | 必須 |
FAQ
Q: == と ===、どちらを使う
A: 型を考慮したいなら必ず ===(厳密比較)。PHP/JS の == は 0 == "0" や null == false が true になり事故ります。Python は == 一つだけ。
Q: 早期 return と else どちらが良い
A: 一般に早期 return(ガード節)がネストを浅くしてレビューしやすいので推奨。例外的に「分岐先が同じ重み」のときは if/else を残します。
Q: switch / match を使うべき判断基準
A: 比較対象が同じ値の等価チェックで、ケースが 3 つ以上あるなら switch/match。範囲条件(>= 20 等)は if/elseif が読みやすいです。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページ
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Laravel キャッシュクリア完全ガイド(cache:clear / config:clear / 2026-05-18 07:42:07
- プロジェクトの作成と削除 2026-05-18 07:42:07
- インストール直後にNetbeansが反応しない 2026-05-18 07:42:07
- 動画やチャンネルの検索 2026-05-18 07:42:07
- APIキー取得方法 2026-05-18 07:42:07
- チャンネル情報の取得 2026-05-18 07:42:07
- API 入門 — Web API(REST / GraphQL / gRPC / 2026-05-18 07:42:07
- インストール(eclipseプラグイン) 2026-05-18 07:42:07
- Laravel「Dotenv values containing spaces must be surrounded 2026-05-18 07:42:07
- エラー一覧 2026-05-18 07:42:07
- curl: (51) SSL: certificate subject name '~' does not match 2026-05-18 07:42:07
- インストール方法(Windows版) 2026-05-18 07:42:07
- JSONから配列に変換 2026-05-18 07:42:07
- 処理を一定時間待つ 2026-05-18 07:42:07
- A non well formed numeric value encountered 2026-05-18 07:42:07
コメントを削除してもよろしいでしょうか?