ushiroyubi1's blog

お勉強の記録。備忘録。その他。

progate_php_18 関数を自作する

関数を自作した。
関数を作るには"function 関数名(引数1、引数2、...){ 処理 }"という書き方。
関数を呼び出す際、関数に好きな値を渡して(入れて)処理させることができる。
関数名、引数の名前は自由につけることが出来る。

  <?php

    //この下に関数getRectangleAreaを作ってください
    //引数として$heightと$widthを受け取り、
    //その面積をreturnします
    function getRectangleArea ($height,$width){
      return $height * $width ;
    }


    //この下で$rectangle_areaに高さが5、幅が10の長方形の面積を、
    //getRectangleArea関数を用いて代入してください
    $rectangle_are = getRectangleArea (5,10);

    //この下に関数printAreaを作ってください
    //引数として$areaを受け取り、
    //"面積は".$area."です。"とechoします
    function printArea ($area){
      echo "面積は".$area."です。";
    }


    //この下で$rectangle_areaの面積を、
    //printArea関数を用いてechoしてください。
    printArea ($rectangle_are);

  ?>

一番上で作った関数getRectangleAreaの処理が$heightと$widthを掛けるようになっている。
$rectangle_areは5×10ということになるので、50ということになる。
真ん中で作った関数function printAreaは$areaを"面積は".$area."です。"という形でechoするようになっている。
なので、一番下のprintArea ($rectangle_are);は「面積は50です」と表示される。


複数のところで使うものをこうやってまとめると、ここだけ変更すればいいので便利なんだそうな。
確かにこちらの方が間違いなく楽だと思う。使用した全箇所に反映されるのだから、最初に関数を作っておいたほうが良いと思った。


参考

関数 | PHP Labo

progate_php_17 strlenとcountとrand

strlenとcountとrandをやった。
strlenは()内の文字列(引数)の文字数を返してくれる。
countは配列のデータ数を返してくれる。文字通り数える。
randは1つ目の引数と2つ目の引数の間でランダムな整数を返してくれる。
どこからどこまでかを指定して、その条件の中でランダムに数字をだしてくれる。

  <?php

    $str = "progate";

    //strlenを用いて$strの長さをechoしてください
    echo strlen($str);


    $array = array('HTML', 'CSS', 'PHP');

    //countを用いて$arrayの要素数をechoしてください

    echo count($array);
    
    //randを用いて10から15までのランダムな数字をechoしてください

    echo rand ('10','15');
  ?>

$strに入ってる文字数は7文字なので、下でechoしているstrlenは7と返してくる。
$arrayにはデータが3つ入っているので、下でechoしているcountは3と返してくる。
一番下でechoされているrandは指定された10~15の間の数をランダムに返してくる。

strlenやcountはフォームとか作るのに使うのかなと思った。
テキストエリアの文字数を返してもらって、もし何文字以上ならアラートみたいな。

参考


PHP関数講座:strlen | そふぃのphp入門


PHP関数講座:count | そふぃのphp入門

アクセスするたびに表示内容が変わるページ | PHP Labo

progate_php_16 countinue文

cootinue文をやった。
continue文は条件の周だけをスキップし、ループそのものは継続する。

  <?php

    //この下にfor文を書いてください
    for ($i = 1 ; $i <= 1000 ; $i++){
      if($i % 3 == 0){
        continue;
      }
      echo $i .'<br>';
    }
  ?>

この場合、$iを1000になるまでループして、echoする。
下のifで3の倍数の時だけcountinueでスキップする。
なので、3の倍数は表示されない。

breakは完全にループを抜けたけど、countinueは一定の条件だけ抜ける。
for,while,foreachの中で使うことが出来る。

参考


PHPスクリプト講座:continue | そふぃのphp入門

progate_php_15 break

breakをやった。
for,while,foreachと一緒に使うのが一般的らしい。
前にswitchで少しやった。

  <?php

    //この下にfor文を書いてください
    for($i = 1 ; $i <= 1000; $i++){
        if($i > 500){
          break;
      }
      echo $i ;
      echo '<br>';
    }
  ?>

この場合$iを1000まで1ずつ繰り返しechoするようになっているけど、
下のifで$iは500を上回った次点でbreak、つまりループを中断するようになってる。
結果は500までが改行されて表示されるようになる。


参考


Web業界で働くためのPHP入門(7):PHPのfor文&怖い無限ループから脱出できるbreak/スキップできるcontinue (1/2) - @IT


PHPスクリプト講座:break | そふぃのphp入門

progate_php_14 foreach

foreachをやった。
foreachは配列や連想配列を先頭のデータから繰り返し処理する。
asの後ろの変数に繰り返す度にデータの先頭から順に代入されていく。

  <?php

    $scores = array('数学' => 70, '英語' => 90, '国語' => 80);

    //この下にforeach文を書いてください
    foreach($scores as $key => $value )
    {
      echo $key .''.$value.'点です。';
    }
  ?>

この場合は$Keyのところに文字列が入り、&valueに値が入って各教科の点数を表示する。


参考

PHP: foreach - Manual