PHP講座#8

今回の記事もPHP講座です!
 それでは今回も張り切っていきましょう!

前回の復習

 前回の記事ではswitch文の書き方について学びましたね。
第5回目の記事から前回(第7回)までの3回の記事で条件式について勉強していきました。

前回の練習問題の解答

1問目

 変数$valueの値が、1または2ならば"小吉"、3または4ならば"中吉"、5ならば"大吉"、それ以外なら"ぴょん吉"と出力するソースコードをswitch文を用いて作成しなさい。変数の値は自由にいじってみてください。



解答

<?php
$value = 1;
switch($value) {
  case 1:
  case 2:
    echo "小吉<br>";
    break;
  case 3:
  case 4:
    echo "中吉<br>";
    break;
  case 5:
    echo "大吉<br>";
    break;
  default:
    echo "ぴょん吉<br>";
    break;
}
?>

2問目

 はじめに変数$cityに"渋谷"を入れてください。switch文を用いて、次の出力を得られるコードを作成してください。

渋谷なら、"ハチ公"
仙台なら、"ステンドグラス"
そのほかの地名なら、"不明"



解答

<?php
$city = "渋谷";
switch($city) {
  case "渋谷":
    echo ""ハチ公<br>";
    break;
  case "仙台":
    echo "ステンドグラス<br>";
    break;
  default:
    echo "不明<br>";
    break;
}
?>

 このように、変数の中身が文字列の場合でもswitch文は使えます。

3問目

 以下のif-elseif-else文で書かれたプログラムをswitch文を用いたプログラムに書き直してみてください。

<?php
$number = 3;
if($number == 1) {
  echo "1<br>";
} elseif($number == 2) {
  echo "2<br>";
} elseif($number == 3) {
  echo "3<br>";
} else {
  echo "another number<br>";
}
?>



解答

<?php
$number = 3;
switch($number) {
  case 1:
    echo "1<br>";
    break;
  case 2:
    echo "2<br>";
    break;
  case 3:
    echo "3<br>";
    break;
  default:
    echo "another number<br>";
    break;
}
?>

 ちなみに、これはシングルクォーテーションとダブルクォーテーションの違いを説明したときの話を覚えている人は、switch文を使わなくても(条件分岐を使わなくても)かけますね。

今回の学習内容

 今回は定数について学んでいきます。PHPで定数を扱う方法は2つあります。(変数を作って値を変えないまま使うみたいなやつは含まないよ!!)

 1つ目は、"const"を使った方法です。

const TAX = 1.08;
 このように、"const 定数名 = 値;"という形で使います。定数名は慣例的に大文字で書くことが多いので、大文字で書きましょう。定数なので、後で値を代入しなおすことはできない点は注意してください。
 試しにソースコードで見ていきましょう。

<?php
$price = 100;
const TAX = 1.08;
echo $price * TAX . "<br>";
?>

108
 こちらの書き方は、理解しやすいので、サクッと覚えちゃいましょうね。

 2つ目は、"define();"を使った方法です。こちらの書き方は、少し古い書き方ですが、現在も使われているので、覚えておきましょう。基本的な形はこんな感じです。

define("NAME", "iwachoco");
 define("変数名", "値"); という形になっています。また、constを使った場合と違って値の部分には算術演算子を用いた式を書くことも可能です。ソースコードで見ていきましょう。

<?php
define("TAX", 1.08);
$price = 100;
echo $price * TAX . "<br>";
?>

108
 define(); はこのように使っていくことになります。

まとめ

 今回は、定数ついて学びました。二通りの書き方を学びました。この二つの使い分けは、基礎的なことを一通り学び終えた後でないと理解できない部分があるので、ここではあまり違いには触れてません。
 次回は、配列について勉強していきましょう。

練習問題

1問目

 定数PIに3.14を入れて半径3の円の面積を計算してください。ただし定数の宣言*1をするときにconstを使ってください。

2問目

 定数PIに3.14を、定数Rに3の3乗を入れて、半径3の円の体積を計算してください。ただし定数の宣言をするときにdefine();を使ってください。


最後まで見ていただきありがとうございます。また別の記事でお会いできることを祈っております。



www.iwachoco-blog.com
www.iwachoco-blog.com


*1:定数の入れ物を作ること