umashika's blog

情弱な大学生によるプログラミングや読書などに関するブログ

elseif文

複数の条件で分岐させたいときはelseif文を使います。

  1. <?php
  2. $time=date("G");     //24時間表示の時刻
  3.  if($time<6 || $time>=18){
  4.       print "夜です";
  5. }
  6. elseif($time>=9){
  7.      print "昼です";
  8. }
  9. elseif($tiem>=6){
  10.      print "夜です";
  11. }
  12. ?>

この構文はC言語には直接ない構文ですね。

まず0~6時、18~24時ならば「夜です」と表示させ次に、$timeがこれ以外の数字だった場合、つまり6時~18時のときを考えます。次の分岐で、9時よりも大きいときは「昼です」と表示するようにします。さらに違った場合は、次の分岐で「夜です」と表示されるわけですねフフフ

論理演算子

論理演算子についてです。

  1. <?php
  2. $time=date("G");    //24時間単位の時間(0~23)
  3. if($time<6 or $time >=18){
  4.  print "<p>夜です</p>";
  5. }else{
  6.  print "<p>昼間です</p>";
  7. }
  8. ?>

このようにorを用いることにより「$time<6」または「$time>=18」がTRUEならばif文以下を実行という様に論理演算子orが用いられます。

or は || でも書き換え可能です。というか私はC言語から入ったので || を用いると思います。

「かつ」を表すのには and または && を使います。

因みにこの文は論理演算子を使用しない文にも書き換え可能です。

  1. <?php
  2. $time=date("G");
  3. if($time<6){
  4.     print "夜です";
  5. }   
  6. else{
  7.        if($time)>=18{
  8.               print "夜です";
  9.         }else{
  10.                 print "昼です";
  11.          }
  12. ?>

と、とても長くなり読みにくくなるので論理演算子を使いましょう。これはPHPに限ったことではなくコードはなるべく短く読みやすくすることを心がけましょう。

人文科目

大学で人文科目の履修選択が始まりました。

今日は社会学の講義に出席しました。

簡単な社会学の説明がありました。

社会学とは経済学や政治学の云わば、弟であるそうです。

経済学が合理的、効率的に物事を考え、すべてを批判的に見るのに対して、社会学は人間の営みが基本となっており、人間はすべてのことを合理的には出来ないと仮定し物事を考えるようです。

じゃあ結局社会学って何するの?質問には答えていなかったように感じましたが、社会学の取り組みについては理解出来ました。

 

ifの省略形 三項演算子

  1. <?php
  2. print (date("G")<12)?"午前です":"午後です";
  3. ?>

if文を省略するとこのように書けます。

(条件)?TRUEのときの値:FALSEの時の値

といった風に書きます。この省略形を三項演算子といいます。

比較演算子

  1. <?php

  2. $a=2; //数字の2

  3. $b="2"; //文字列の2

  4. //$aが$bに等しいかどうか

  5. if($a==$b){

  6.  print "<p>そうです</p>";

  7. }else{

  8.  print "<p>違います</p>";

  9. }

  10. //$aが$bと等しく型も同じか

  11. if($a===$b){

  12.  print "<p>そうです</p>";

  13. }else{

  14.  print "<p>違います</p>";

  15. }

  16. ?>

という風にPHPでは型まで同じかどうか比較ができるそうです。この例で言うと、$aは数字の2ですが$bは文字列としての2ですね。==の比較は同じ2なのでTRUEとなりますが、===の比較では型まで比較されるのでFALSEとなります。

条件分岐

おなじみ条件分岐の書き方を学びました。

  1. <?php
  2. if(date("G")<12){
  3.  print "<p>午前です</p>";
  4. }else{
  5.  print "<p>午後です</p>";
  6. }
  7. ?>

このように書きます。date("G")とは24時間単位の時間の2桁表示です。現在は6時54分であって、06<12がTRUEとなるので”午前です”が表示されます。<p>のタグは<p>~</p>を一つのパラグラフとするタグです。

ここまでの復習

今日は2015年です。

4月(April)で

7日(Tuesday)です。

 

と、表示したかったら、改行のnl2br関数,時間表示のdate関数を用いて

  1. <?php
  2. print nl2br(date("
  3. 今年はY年です。
  4. m月(F)で
  5. j日(l)です。
  6. "));
  7. ?>