// ▼▼▼【オリジナル関数を設定】▼▼▼
// セキュリティ対策
// ユーザが入力した値内の、HTML上意味を持つ記号を実体参照に変換する
// ⇒HTML文を入力されても、文字列扱いとなり、処理が実行されない
// ⇒HTMLタグを使用した攻撃(XSS攻撃)を防げる
function h($var)
{
// ↑↑引数は1つで$varが受け取る
// $var:mysqli_fetch_assocにて読み込んだ配列の値が入る
// 今回は配列にならないのでelse文の処理が行われる
if (is_array($var)) {
// ↑↑is_array関数:
// 引数部分の値が配列かどうかを検査
// ▼▼▼【配列だった場合の処理】▼▼▼
return array_map('h', $var);
// return:
// function関数内において、戻り値を定義する
// array_map関数:
// 第2引数に指定した配列内の値に、第1引数で指定した関数を適用する
// 配列内の値にh関数を適用して
// HTMLで意味のある記号をすべて実体参照に置き換えた配列を返す
} else {
// ▼▼▼【配列じゃなかった時の処理】▼▼▼
// htmlspecialchars関数:
// 特殊文字をHTMLエンティティに変換する
// HTMLエンティティ:
// &で始まって;で終わるテキスト(実体参照)
// つまり、HTMLで意味を持つ記号を実体参照に変換する
// 第1引数:変換対象文字列「$var」引数で受け取った値
// 第2引数:変換のルール「ENT_QUOTES」
// ENT_QUOTES:シングルクオートとダブルクオートを共に変換する
}
}