PHP8+ 基本チュートリアル
基礎
PHP言語入門
はじめに
PHPコードの実行
エンコーディングの問題
PHPエラーの出力
PHP起動用の完全なコード
改良版起動コード
基本的なPHPコマンドの概要
PHPのコメント
教科書内のコメント
変数のダンプ
PHPの関数
変数
変数の使用
変数値の変更
数値を使った算術演算
変数を使った算術演算
算術演算の優先順位
同等の優先順位
グループ化の括弧
グループ化のニュアンス
分数
負の数
除算の余り
べき乗
べき乗の優先順位
文字列
文字列の連結
文字列連結時のスペース
文字列の長さ
キリル文字の問題
タグ
タグの属性
論理値
null値
型の自動変換
文字列への自動変換
文字列変換のニュアンス
数値への変換
小数への変換
小数から整数への変換
数値から文字列への変換
文字列の文字
文字列内の数字
数値の桁へのアクセス
代入演算子使用時のニュアンス
短縮演算
インクリメント
前置型と後置型
エラー発見の練習
演算の練習問題
数式の練習問題
配列
配列入門
配列内容の表示
配列の個別要素
連想配列
キーのトリック
要素の順序
配列の長さ
要素の変更
配列要素の上書き
要素のインクリメント
配列の作成
キーの明示的な指定
変数からのキー
エラー発見の実践
条件分岐
if-else構文
大なり小なり演算子
等価性のチェック
不等価性のチェック
変数の比較
データ型とif-else構文
引用符内の数値
値と型の等価性
値と型の不等価性
データ型比較のニュアンス
if-elseでの複合条件
論理AND
論理OR
比較演算の優先順位
条件のグループ化
条件式の反転
if-else構文とブーリアン値
ブーリアン値の非厳密比較
短縮形if
短縮演算のニュアンス
issetコマンド
警告の抑制
配列要素のチェック
emptyコマンド
elseの省略可能性
波括弧の省略可能性
括弧省略の問題点
if-elseの組み合わせ
elseif構文
ネストされたif
switch構文
defaultの省略可能性
match構文
breakの省略可能性
三項演算子
Null合体演算子
Null合体演算子のチェーン
論理演算
時間帯の判定
文字列と配列の長さチェック
文字列の文字チェック
剰余のチェック
エラー探しの実践
if elseの実践
ループ
導入
foreachループ
キーを伴うforeachループ
whileループ
forループ
ループ内の条件
数値の合計の累積
要素の合計の累積
ループ内での文字列の形成
中括弧の省略可能性
括弧省略の問題点
break文
continue文
フラグの操作
ネストされたループ
配列のためのforループ
ループ内での配列の初期化
ループ内での配列の変更
コーディングのヒント
エラー発見の練習
ループの実習
多次元性
数学関数
文字列関数
文字列の長さ
文字のケース(大文字・小文字)
文字列の切り取り
文字列のチェック
文字列内の検索
文字列の分割
文字列の端のクリーンアップ
挿入付きの文字列出力
数値表現のフォーマット
文字列の反転
文字列の埋め込み
タグの操作
文字コード
部分文字列のカウント
文字列の部分
配列関数
ランダム
時間
カスタム関数
はじめに
関数のパラメータ
複数のパラメータ
変数パラメータ
オプションパラメータ
return文
関数の連続呼び出し
returnの微妙な点
ループとreturn
ループ内でのreturnの適用
returnを使ったテクニック
関数内のフラグ
関数内の論理演算子
関数に関するアドバイス
エラー発見の練習
関数の実習
スコープ
再帰
正規表現
はじめに
繰り返し演算子
グループ化括弧
特殊文字のエスケープ
特殊文字一覧
中括弧
貪欲さの制限
文字グループ
文字セット
文字セットの反転
キリル文字の特徴
セット内の特殊文字
セット内の文字グループ
セット内の例外特殊文字
セット内のハット記号
セット内のハイフンの特徴
行の先頭と末尾
単語の境界
'または' コマンド
デリミタ
デリミタのエスケープ
バックスラッシュ
文字列の検査
正規表現の自動テスト
文字列全体の検査
検索時のキャプチャグループ
すべてのマッチを検索
キャプチャグループへの全マッチ
検索動作の変更
非キャプチャ括弧
置換時のキャプチャグループ
式内のキャプチャグループ
名前付きキャプチャグループ
式内の名前付きキャプチャグループ
キャプチャグループの共通番号
先読み
後読み
コールバックを用いた置換
修飾子
正規表現の大文字小文字の無視
正規表現内のコメント
正規表現でのユニコードの扱い
正規表現の貪欲さの変更
正規表現での通常文字のエスケープ
複数の正規表現修飾子
特殊文字の自動エスケープ
配列のフィルタリング
文字列の配列への分割
文字列の形成
変数の挿入
配列要素の挿入
連想配列要素の挿入
ループと変数の挿入
ループ内での配列要素の挿入
ループ内での多次元配列要素の挿入
タグの生成
属性付きタグの生成
ループとタグの生成
配列からのループとタグの生成
ループとタグおよび属性の生成
ループとHTMLテーブルの生成
単一ループによるHTMLテーブルの生成
二重ネストループによるHTMLテーブルの生成
HTMLへのPHPコードの挿入
echo短縮タグ
HTMLへの変数の出力
HTMLへの配列要素の出力
条件分岐とPHPコードの分割
PHPコード分割内のelseブロック
PHPコード分割内のelseifブロック
ループとPHPコードの分割
PHPコード分割内の配列を用いたループ
フォーム
フォーム入門
フォーム送信メソッド
フォームデータの取得
GETメソッドによるフォームデータの取得
POSTメソッドによるフォームデータの取得
1つのファイルでのフォーム処理
送信後のフォーム非表示
フォーム値の保持
フォームのデフォルト値の保持
デフォルト値保持の短縮コード
textarea要素
送信後のtextarea値の保存
チェックボックス
チェックボックス使用のニュアンス
チェックボックスの値の保存
ラジオボタン
ラジオボタンの値の保存
セレクトボックス
セレクトボックスのvalue属性
セレクトボックスの値の保存
GETリクエスト
リンクを使用したGETリクエスト
実践問題
セッション
Cookies
ファイルシステム
ファイルの読み取り
ファイルの書き込み
操作の組み合わせ
相対パス
絶対パス
絶対パスの利点
スクリプトへの絶対パス
ファイルの名前変更
ファイルの移動
ファイルのコピー
ファイルの削除
ファイルサイズの確認
ファイルの存在確認
ディレクトリの作成
ディレクトリの削除
ディレクトリの名前変更
ディレクトリの移動
ディレクトリ内容の読み取り
ファイルとディレクトリの区別
ディレクトリ内容の解析
ファイルのインクルード
マークアップの分割
インクルードを変数に格納
ファイルのリクワイア
ファイルのワンタイムリクワイア
リクワイアを変数に格納
データベース
データベース入門
PhpMyAdmin
テストテーブル users
準備操作
データベースへのクエリ送信
データベースでのエラー検出
動作テスト
文字エンコーディングの問題
完全なテストコード
結果の取得
配列としての結果取得
ループによる配列の形成
レコードの選択
論理演算
選択フィールド
レコードの挿入
カラムが欠落している場合のレコード挿入
レコードの更新
レコードの削除
レコードのソート
数量制限
数量の計算
数量の取得
高度なクエリ
データベースの構築
データベース実習
HTTPとの連携
HTTPチュートリアル
HTTPリクエストメソッド
HTTPリクエストヘッダー
HTTPリクエストヘッダーの配列
HTTPレスポンスヘッダー
HTTPレスポンスヘッダーの問題
includeの問題
HTTPレスポンスのスタートラインの送信
HTTPレスポンスステータスの送信
リダイレクト
リダイレクト入門
即時リダイレクト
GETリクエストとリダイレクト
パラメータ追加による自己リダイレクト
フラッシュメッセージ
フラッシュメッセージ配列
フォーム保存
送信成功メッセージ
フォーム検証時のリダイレクト
認証
導入
認可
セッション
セッションからのログアウト
登録
登録時即時認証
セッションへのID追加
パスワードの非表示
ログイン名の空き確認
検証
ハッシュ化
登録時のソルト追加
認証時のソルト追加
password_hash関数
プロフィール
アカウント
パスワード変更
パスワード確認
アカウント削除
権限
権限分けによる登録
権限とデータベース正規化