PHPのいろいろな組み込み関数を使ってみよう!

📁 作成ファイル・保存場所

XAMPPがインストールされているhtdocs フォルダに以下のファイルを作成してください。

ファイル名内容
htdocs/php-basic/06.phpPHPとHTML
  • XAMPP(Apacheが起動していること)
  • XAMPPがインストールされているhtdocs フォルダに内に作成されていること

目的

  • PHPの関数の使い方に慣れる
  • 数値・文字列・配列・日付など、用途別の関数を知る
  • htmlspecialchars() など、セキュリティに役立つ関数も学ぶ

チェックポイント

  • floor()round() を使って小数を処理できる?
  • count()strlen() を使って長さを取得できる?
  • htmlspecialchars() の意味と使いどころを理解できている?

組み込み関数(メソッド)

数値の処理に使える関数

$value = 74.6;

echo floor($value);  // 切り捨て:74
echo ceil($value);   // 切り上げ:75
echo round($value);  // 四捨五入:75


ランダムな値を取得

echo "rand:" . rand(1, 100) . "<br>";
echo "mt_rand:" . mt_rand(1, 100) . "<br>";//一番よく使う
echo "random_int:" . random_int(1, 100) . "<br>";
  • rand()は最も基本的な乱数ですが、PHP 7.1 以降では mt_rand() が推奨されています
  • mt_rand()はmt は「メルセンヌ・ツイスタ」の略 rand() よりも高速で偏りが少ない
  • random_int()はセキュリティが重要な場合(例:パスワード・認証コード)に使う

文字列の長さを調べる

$text = "こんにちは";
echo strlen($text);      // 出力:15(バイト数)
echo mb_strlen($text);   // 出力:5(文字数として正確)

strlen() は「バイト数」なので、日本語は1文字=3バイトで数えられます。
正確な文字数を取得したいときは mb_strlen() を使いましょう。

配列の要素数を調べる

$colors = ['赤', '青', '緑'];
echo count($colors);  // 出力:3

現在の日付と時刻を取得

echo date('Y年m月d日 H:i:s');
// 例:2025年07月06日 16:45:32

HTMLタグを無効化して安全に出力

$text = '<h2>見出し</h2>';
echo htmlspecialchars($text);
// 出力:&lt;h2&gt;見出し&lt;/h2&gt;

3桁区切りで見やすく表示

$price = 1234567;
echo number_format($price);  // 出力:1,234,567


PHP基礎トレーニング

<?php
// 小数の処理
$price = 1980.75;
echo "元の価格:" . $price . "円<br>";
echo "税込価格:" . number_format(round($price * 1.1)) . "円<br>";

// HTMLのエスケープ
$input = "<h2>見出し</h2>";
echo "エスケープ前:" . $input . "<br>";
echo "エスケープ後:" . htmlspecialchars($input) . "<br>";

// 配列の長さ
$fruits = ['りんご', 'バナナ', 'みかん'];
echo "果物の数:" . count($fruits) . "<br>";

// 文字列の長さ(日本語)
$text = "こんにちは";
echo "文字列(バイト数):" . strlen($text) . "<br>";
echo "文字数(mb_strlen):" . mb_strlen($text) . "<br>";

// ランダム
$index = mt_rand(0, count($fruits) - 1);
echo "選ばれた果物:" . $fruits[$index] . "<br>";

// 日付
echo "現在の時刻:" . date('Y-m-d H:i:s') . "<br>";
?>

なぜ -1 が必要なの?

count($fruits) は要素の数を返す → 今回は「3」でも 配列のインデックス番号は 0 から始まる。つまり有効なインデックスは「0〜2」mt_rand(0, 3) とすると、$fruits[3] にアクセスしてしまい「存在しない添え字」となりエラーになる

表示確認の手順

下記のコード入力が終わったら、以下の手順で動作を確認してみましょう。

  1. XAMPP を起動
     「Apache」が起動していることを確認します。
  2. ブラウザを開く
     Google Chrome など、普段使っているブラウザを開きます。
  3. アドレスバーに入力
     次のURLを直接入力して Enter を押します
http://localhost/php-basic/
  1. 01.php をクリック
     フォルダ一覧の中に「02.php」というファイル名が見えたら、それをクリックしてください。
  2. ページが表示されれば成功!
     「PHP基礎学習のスタートです」や「ウェブトレーニングで頑張りましょう」などの文字が表示されていれば、PHPが正しく動いています。

PHP応用トレーニング

じゃんけんゲームを作成してみましょう

<?php
$hands = ['グー', 'チョキ', 'パー'];
$user_index = mt_rand(0, 2);
$cpu_index = mt_rand(0, 2);

$user_hand = $hands[$user_index];
$cpu_hand = $hands[$cpu_index];

// 勝敗判定
if ($user_index === $cpu_index) {
    $result = 'あいこ';
} elseif (
    ($user_index === 0 && $cpu_index === 1) ||  // グー vs チョキ
    ($user_index === 1 && $cpu_index === 2) ||  // チョキ vs パー
    ($user_index === 2 && $cpu_index === 0)     // パー vs グー
) {
    $result = 'あなたの勝ち!';
} else {
    $result = 'あなたの負け…';
}
?>

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>じゃんけん勝負!</title>
</head>
<body>
    <h1>PHPでじゃんけん</h1>
    <p>あなたの手:<?php echo $user_hand; ?></p>
    <p>コンピュータの手:<?php echo $cpu_hand; ?></p>
    <h2>結果:<?php echo $result; ?></h2>
</body>
</html>