web制作のしおり

日々の学習をアウトプットします。

69.PHP基本文法を学ぼう ~やっぱり基本は丁寧に~

昨日からPHPの学習に突入しました。

 

ということで、本日もやっていきましょう。

 

変数について

デイトラでは「データに名前をつける行為」と紹介されています。

 

ラベルが貼られた「箱」に「データ」を入れて管理する仕組みのようなもの。

ダンボールにりんごを入れて、何が入っているのかがわかるように「りんご」と書かれたラベルをダンボールに貼るみたいなイメージをしています。

ここでは「りんご」がデータで、「ダンボール箱とラベル」が変数(変数名)です。

 

変数を定義する

PHPでの変数の定義は以下のように記述します。

 

<?php

$tax = 1.10;

?>

ルールとしては、

$」記号を先頭に付けて、その後に半角アルファベット小文字で変数名を記述する。

そして、変数に入れる値(データ)を 「=」の後に書いて、「セミコロンで締める。

$変数名 = データ;

という形です。

 

先程の具体例の変数定義を確認すると、

「tax」という「変数名」の変数に、

「1.10」という「数値データ」が入っている状態です。

 

名前をつけてデータを管理するので、中の値が何なのかが名前から推測できますね。

ここでは消費税率のつもりで、変数名をつけています。

 

他者からも「わかりやすい」が名前としては大切ですよね。

 

変数を使う

変数を定義しても、使わなければ宝の持ち腐れですね。

使っていきましょう。

 

昨日の学習で文字列表示をやったので、それと組み合わせて使っていきます。

 

<h1><?php echo $tax; ?></h1>

 

これをindex.phpに記述して、ブラウザからローカルホストにアクセスすると

1.10がh1タグのデザインで表示されるはずです。

1.10では無かったですね。

これは…

「文字列」として1.10を変数で持っていれば表示されるのでしょうか。

変数に代入したのが「数値」だから0は切り捨てられて、1.1になっているのでしょうかね。

 

とは言え、このように変数は使うことができます。

もちろん、途中で値を変えることもできます。

 

例えば消費税が増税されたら

<?php

 $tax =1.1;

 echo $tax;

 $tax =1.12;

 echo $tax;

?>

とすると、taxに1.1が代入されて、echo で中身の1.1表示されて、その後でtaxに1.2が代入されて、echoで1.2が表示される

こんな流れになります。

増税は嬉しくないですが、こうして処理の途中で変数の中の値を変更することも可能です。

 

関数(function)について

関数は

「処理をまとめて、名前をつけたもの」

です。

先に形だけ確認しましょう。

関数の定義は、

function 関数名(引数){

処理内容

返り値

}

このようにします。

そして、関数を使うときは

関数名(引数);

これだけです。

後ほど実際に定義して使いますので、「ふーん」くらいで流してください。

 

処理をまとめるとは

例えば、消費税込み価格を計算したい時に

<?php

$tax =1.1;

$price = 1000;

$payment = $price * $tax;

echo $payment;

?>

こんな感じで計算をすることもできます。

が、

こうした何度も使いそうな処理は、

まとめて何回も使えるほうが良いですよね?

そんな時に関数を使いましょうよって事です。

 

処理をまとめて、名前をつけられるので、例えば

function calcPayment($price){

 $tax =1.1;

 $payment = $price * $tax;

 return $payment;

}

のように意味のわかる名前をつけて、処理を中に書きます。

 

因みに、$price引数で関数を使う時に内部の処理とデータのやり取りをする橋渡し役的な変数です。

なので実際に関数を使う際に、

calcPayment(1000);とすれば、内部の$priceには1000が代入された状態で処理されるということです。

上記の関数では$taxは内部で定義されていますが、$priceは定義されていませんよね。

 

さらに、return $payment;は返り値といって、呼び出し元に返す値のことです。

上記の関数では、$paymentは$taxと$priceを掛けた値が代入されるので、税込み価格が返り値として呼び出し元に返ってくるわけです。

 

じゃあ、1500円の税込価格を表示したいと言ったら

どう記述すればよいのでしょうか。

 

<?php

function calcPayment($price){

 $tax =1.1;

 $payment = $price * $tax;

 return $payment;

}

echo calcPayment(1500);

?>

 

とすれば良さそうですね。

そして、1500円以外の他の税込価格を知りたい場合でも

<?php

function calcPayment($price){

 $tax =1.1;

 $payment = $price * $tax;

 return $payment;

}

echo calcPayment(1500);

echo '<br>';

echo calcPayment(2000);

echo '<br>';

echo calcPayment(4300);

?>

のように処理は1度書いてあるので、

後は関数に引数を渡すだけで計算結果が返ってきます。

それをechoで表示するだけですね。(  echo '<br>';これはHTMLに改行タグを差し込んでいるだけです。)

実際の実行結果はこちら

今日のまとめ

  • 変数はラベリングできる箱で、データを格納できるもの。
  • 関数は処理をまとめて、名前をつけて、使いまわしできるもの。

 

確認の意味も込めて、ながながと記事にしてしまいました。

明日も引き続きやっていきます。

 

では、また。