こんにちわ。 イチハチです。
プログラミング言語であるphpは難しいですよね。 ずっと触り続けることでだんだんと慣れてくるのですが、初めのころは何がなんだかわかりませんでした。 今でも勉強中です。
みなさん、PHPを使って、時間別で表示する内容を変更したいとか、曜日別で表示する内容を変更したいけど、やり方が分からないとお悩みではありませんか?
この記事では「時間別」と「曜日別」で表示内容を変更することが出来るようになるのと、この記事の最後にファイルを添付しておきますので、誰でもファイルをダウンロードすることができます。
phpを使って時間で表示内容を変更する方法
まずは、時間別で表示する内容を変更の仕方になります。
PHPコード
phpを書き始めるときは「 <?php 」 で始まり、「 ?> 」 こちらで終わるようにしましょう。
$today = getdate(); if($today[hours] >= 6 and $today[hours] < 18) { echo "6時〜18時"; } elseif($today[hours] >= 19 and $today[hours] < 22) { // 19時~22時 echo "19時〜22時"; } else { //22時~6時 echo "22時〜6時"; }
こちらがphpのコードになります。
コード内容の説明
まずは、getdate関数を使って日時の情報を取得できるようにしておきます。
$today = getdate();
次に、条件分岐です。 if文を使い、6時から18時を指定してあげます。
$today[hours] ←このコードが現在の時の値を取得しています。
$today = getdate(); if($today[hours] >= 6 and $today[hours] < 18) { echo "6時〜18時"; }
elseif〜 は通常の条件分岐なので、必要な分だけ追加すると完璧です。
パターン別で見てみよう
午前中と午後で分ける
午前中(0時から12時)の間は午前中です。と表示し、それ以外の時間を午後と表示します。
$today = getdate(); if($today[hours] >= 0 and $today[hours] < 12) { echo "午前中です。"; }else{ echo "午後です。"; }
朝、昼、夕、夜の4パターンで分ける
朝(6時から10時まで)と昼(10時から16時まで)と夕方(16時から18時まで)夜(18時から朝6時まで)で分ける場合。
$today = getdate(); if($today[hours] >= 6 and $today[hours] < 10) { echo "午前中です。"; }elseif($today[hours] >= 10 and $today[hours] < 16) { echo "午後です。"; }elseif($today[hours] >= 16 and $today[hours] < 18) { echo "夕方です。"; }else{ echo "夜です。"; }
曜日で分ける
曜日で分ける場合には、$today[wday] を使います。
0=日曜日 1=月曜日 2=火曜日 となっており、数字で曜日が変わる仕組みになっています。
月曜から金曜日が「平日」で、土曜、日曜が「週末」と表示させる場合はこのように書きます。
$today = getdate(); if($today[wday] == 0 || $today[wday] == 6) { echo "週末です。"; }elseif($today[wday] >= 1 and $today[hours] < 6) { echo "平日です。"; }
その他のパターン
そのほかにもgetdate()関数を使えば様々な日時関係の条件を分ける事が可能になります。
キー | 値の意味 | 例 |
---|---|---|
year | 年の値(4桁) | 2005 など |
yday | 年単位の日 | 0 ~ 365 |
mon | 月の値(数値) | 1 ~ 12 |
month | 月の値(フルスペル) | January ~ December |
mday | 日付の値 | 1 ~ 31 |
wday | 曜日の値(数値) | 0(日曜) ~ 6(土曜) |
weekday | 曜日の値(フルスペル) | Sunday ~ Saturday |
hours | 時の値 | 0 ~ 23 |
minutes | 分の値 | 0 ~ 59 |
seconds | 秒の値 | 0 ~ 59 |
0 | タイムスタンプ値 の値と同様。 | 1121011416 など |
これらを使い分けて、ご自身のサイトをもっと面白くすることができますね。
PHPとHTMLを組み合わせる場合
PHPコードの間にHTMLを組み合わせた場合もあるかと思いますが、そういった場合には、下記のようにコーディングすることでHTMLも自由に書き込むことが可能です。
<?php $today = getdate(); if($today[wday] == 0 || $today[wday] == 6) { ?> <img src="img/sample.png" alt=""> <?php }elseif($today[wday] >= 1 and $today[hours] < 6) { ?> <img src="img/sample2.png" alt=""> <? } ?>
まとめ
いかがでしたでしょうか。
PHPの条件分岐を使った時間別に表示内容を変えるという内容でした。
プログラミングの知識があるとより人生の幅が広がることは間違いないです。 もっと真剣に学びたいときはスクールなどで基礎知識を学ぶこともおすすめいたします。
気軽に学べるプログラミング
下記の2つはイチハチがおすすめするプログラミング講座があるサービスです。
umdeyというサービスではよく割引きセールをおこなっているので、安いもので1200円ほどで、本格的なプログラミングを学ぶことも可能です。
もし本格的に学んでみたいと思った場合はぜひこちらもご検討してみてはいかがでしょうか。
いろんなプログラミング講座が豊富なUmedy
直接プロから出向いて 学べるストアカ
コメント