PHPで値に応じてcheckboxをcheckedにする方法【初心者向け】

初心者向けにPHPで値に応じてcheckboxをcheckedにする方法について解説しています。PHPでチェックボックスをチェックした状態にするには、何らかの条件に従って、checkbox要素にcheckedをつけたHTMLを出力するだけです。

TechAcademyマガジンは受講者数No.1のオンラインプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。

PHPで値に応じてcheckboxをcheckedにする方法について解説します。特定のチェックボックスの要素にcheckedをつけます。

 

そもそもPHPについてよく分からないという方は、PHPとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプPHP/Laravel講座の内容をもとに紹介しています。

 

田島悠介

今回は、PHPに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

PHPで値に応じてcheckboxをcheckedにする方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

checkboxをcheckdにする書き方

PHPのレスポンスでHTMLをブラウザに返す時に<input type=”checkbox” checked>のようにchecked属性を付けるだけです。

初期状態が固定の場合はHTMLを書く要領で書きます。
何かの値によって状態を変更したい場合は、三項演算子やif文などで値を判定して<?= … ?> や <?php echo … ?>などでcheckedの文字列を埋め込みます。

三項演算子は、単純な条件判定には便利です。

<?= $is_enable ? 'checked' : '' ?>

このように書くだけで$is_enableが真のときだけcheckedにすることができます。

また、値を埋め込むだけのPHPタグ <?php echo … ?gt; は<?= … ?>と同等です。
<?= … ?> の方が使いやすく、可読性が高いです。

PHPタグで属性を書く時に、空白が無くて左右にある別の属性とくっついて、失敗することもあります。
うまく行かないときはデベロッパーツールなどで確認しましょう。

 

実際に書いてみよう

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>checkbox</title>
</head>
<body>
    <ul>
        <li>
            <label><input type="checkbox" name="cb1">check box off</label>
        </li>
        <li>
            <label><input type="checkbox" name="cb2" checked>check box on</label>
        </li>
        <li>
            <label><input type="checkbox" name="cb3"
                <?= rand(0, 100)<50 ? 'checked' : '' ?>
            >check box randum</label>
        </li>
    </ul>
</body>
</html>

 

この記事を監修してくれた方

大網 清和(おおあみきよかず )
現在は派遣スタッフとして Laravel で大手ポータルサイトの開発業務をしています。

プログラム歴は長く中学生の頃から始めて35年くらいになります。古くは BASIC、C、COBOLなどを経験し SQL を集中的に使っていた時期もあります。
Web の開発はまだ2年位とあまり長くは無いですが、プログラミングの楽しさを伝えられたら良いなと思っています。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でもPHPやフレームワークのLaravelを使ってWebアプリケーション開発を習得できるオンラインブートキャンプPHP/Laravel講座を開催しています。

挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。