ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
本稿は PHP の基本事項に関する記事です。PHP コードを書くときに、最初に押さえておくべきファイル形式・コメント記法・文末区切り・PHP タグなどをまとめます。
基本ルール
- ファイルの拡張子は「.php」
- 単一行コメントは「//」 または 「#」
- 複数行コメントは「/* */」
- 文末は「; (セミコロン)」
- 大文字小文字: 関数名・クラス名は区別しないが、変数名は区別する
- 変数は
$から始める ($name) - 文字コードは
UTF-8(BOM なし) が標準
PHP タグ
| タグ | 用途 |
|---|---|
<?php ... ?> | 標準の PHP コードブロック |
<?= 値 ?> | echo のショートタグ (常に有効) |
<? ... ?> | ショートタグ (short_open_tag 有効時のみ、非推奨) |
PHP ファイル専用のファイル (関数定義・クラスのみ) では、最後の ?> を書かないのが推奨です (末尾の余分な改行・空白による予期せぬ出力を防げます)。
最小のサンプル
|
<?php |
HTML との混在
|
<!DOCTYPE html> |
文字列の書き方
| 記法 | 挙動 |
|---|---|
'hello' (シングルクォート) | 変数展開なし。リテラルそのまま |
"hello $name" (ダブルクォート) | 変数展開・エスケープシーケンス有効 |
HEREDOC <<<EOT ... EOT; | 複数行 + 変数展開 |
NOWDOC <<<'EOT' ... EOT; | 複数行 + 変数展開なし |
変数と型
- 変数は
$x = 1;のように宣言時に値を入れて型決定 (動的型付け) - 型:
int/float/string/bool/array/object/null/resource - 関数宣言で型を明示できる (
function f(int $x): string) declare(strict_types=1);を冒頭に書くと、ファイル単位で厳密な型チェックになる
制御構文の括弧
|
// 通常の波括弧 |
PHP のバージョン
| バージョン | 状況 (2026年時点の目安) |
|---|---|
| PHP 5.x | EOL。利用継続は危険 |
| PHP 7.0〜7.4 | EOL。早急に 8.x へ |
| PHP 8.0〜8.1 | EOL 済 / 終盤。本番は 8.2 以上推奨 |
| PHP 8.2 / 8.3 / 8.4 | サポート中 |
PHP 8 では型の強化・属性 (アトリビュート)・match・名前付き引数・readonly プロパティ・enum など、新しい構文が多数追加されています。
注意点
- BOM 付き UTF-8 はヘッダ送信前に出力されてしまい
headers already sentエラーになる。BOM なしで保存 - HTML 出力は必ず
htmlspecialchars()でエスケープ。テンプレートエンジン (Blade / Twig 等) を使う場合は自動エスケープを活用 - SQL はプレースホルダで渡す。文字列連結はインジェクションの温床
- 短縮タグ
<? ... ?>は環境依存。<?php ... ?>または<?= ... ?>を使う - 関数・クラス定義のみのファイルは末尾
?>を省略 error_reportingやdisplay_errorsは本番では非表示にする
関連
- 親カテゴリ: 文法 (PHP)
- PHP 本体: PHP
- 関連: 関数 / スーパーグローバル変数
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子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アノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック NEW 2026-06-22 12:34:44
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 NEW 2026-06-22 12:17:25
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 NEW 2026-06-22 12:17:25
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 NEW 2026-06-22 12:17:24
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 NEW 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?