8定数を
つかおう
プログラミングはたくさんの変数を使います。間違えて同じ変数につかってしまうと、意図せずデータを書き換えてしまうことになります。これは致命的なエラーになります。ここで定数の出番です。変数と逆の立場にあるのが定数です。定数は、一度入れたらデータを入れ替えることができない特性があります。
上書きされたくない重要な数値、文字列は定数にいれておけば書き換えられることがありません。より安全に開発することができます。
定数はdefine関数を使います。
◎関数とは
関数とは役立つマシンのようなものです。数値や文字を渡すと、求める結果にして返してくれます。関数はたくさんの種類があります。
例)変数の中身を表示したい
>> var_dump関数を使います
$data = 100;
var_dump($data);
→ int(100)が表示されます。
例)変数の文字列の長さを知りたい
>>strlen関数を使います
$data = 'abc';
$nagasa = strlen($data);
→ 3 が変数に入ります。
関数名()の形で使います。
関数については、後ほど詳しい説明をします。ここでは軽くで進めます。
サンプルコード
<?php
define("URL", "https://blog.skbx.net/tyatya/");
echo URL;
?>
実行結果
定数の用途としては、よく呼び出される不変のデータ(パス、URL、開発モード)などで使われているのを目にします。
定数の名前は他の変数の名前と明らかに区別するために、すべて大文字にするなどの工夫をしたほうがいいでしょう。
9if文を
つかおう
if文は条件分岐を使うプログラミングに必須です。if文とは、条件式から判断し、一致したら処理します。2つの値の大小や、等しい・等しくないなどの条件により処理を変える場合によく使われます。
構文としては
if ( 条件式 ) {
// 条件が一致したときに実行する処理
}
条件式の結果は真(true)か偽(false)という言い方で表します。
サンプルコード①
<?php
$value1 = 200;
$value2 = 100;
if ($value1 > $value2){
echo "value1はvalue2より大きい<br/>\n";
}
$a = "PHP";
$b = "PHP";
if ($a == $b){
echo "ドルaとドルbは同じ文字ですね<br/>\n";
}
?>
実行結果①
ドルaとドルbは同じ文字ですね
else をつけることで一致しないときの処理も記述できます。
サンプルコード②
<?php
$value1 = 200;
$value2 = 300;
if ($value1 > $value2){
echo "value1はvalue2より大きい";
}else{
echo "value1はvalue2より大きくない";
}
?>
実行結果②
さらに elseif をつけることもできます。別の条件と一致しないときの追加の条件式の処理も記述できます。
サンプルコード③
<?php
$value1 = 300;
$value2 = 300;
if ($value1 > $value2){
echo "value1はvalue2より大きい";
}elseif ($value1 == $value2){
echo "value1とvalue2はおなじ";
}else{
echo "value1はvalue2より大きくない";
}
?>
実行結果③
if文が縦にながくなってきました。覚えておきたいことは「上から順に」条件式は処理されます。
また、条件式にある「<」「==」には書き方と種類があります。
■条件式に使う比較演算子
◎等しい:$値1 == $値2
$値1 が $値2 に等しい時にTRUEを返します。
◎等しい:$値1 === $値2
$値1 が $値2 に等しい、および同じ型の場合にTRUEを返します。
◎等しくない:$値1 != $値2
$値1 が $値2 に等しくない場合にTRUEを返します。
◎等しくない:$値1 <> $値2
$値1 が $値2 に等しくない場合にTRUEを返します。
◎等しくない:$値1 !== $値2
$値1 が $値2 と等しくない、および同じ型でない場合にTRUEを返します。
◎より少ない:$値1 < $値2
$値1 が $値2 より少ない時にTRUEを返します。
◎より多い:$値1 > $値2
$値1 が $値2 より多い時にTRUEを返します。
◎より少ないか等しい(以上):$値1 <= $値2
$値1 が $値2 より少ないか等しい時にTRUEを返します。
◎より多いか等しい(以下):$値1 >= $値2
$値1 が $値2 より多いか等しい時にTRUEを返します。
変数の「型」
変数はそれぞれデータのタイプ(型)があります。PHPは、変数に値を入れると自動的に型が決まります。◎変数の型
・boolean 論理値(論理型)
・integer 整数(整数型)
・float(または、double) 浮動小数点数(浮動小数点型)
・string 文字列
・array 配列
・resource リソース
・NULL ヌル値
※今すぐにすべてを覚える必要はありません
変数の型が、さきほどの「比較演算子」の中にある重要な2つに関わってきます。
◎等しい:$値1 === $値2
$値1 が $値2 に等しい、および同じ型の場合にTRUEを返します。
◎等しくない:$値1 !== $値2
$値1 が $値2 と等しくない、および同じ型でない場合にTRUEを返します。
PHPでは変数の型を自動で決めてくれるのでスムーズです。しかし、この自動決定が、意図しない結果になることもあります。
例をあげると
$a = "1";
if( $a === 1 ) {
echo "OK"; // 出力されない!
}
上記の場合は OK と出力されません。$a === 1 がTRUEを返しません。
$a === 1 の「1」は整数です。PHPは、変数に""をつけて値を入れると「文字列型(string)」と自動で解釈してくれます。
そのため $a には文字列の「1」が入っており、型が違います。型が一致しないため、$a === 1 がTRUEを返しません。
条件式を成立させるには型をあわせる必要があります。型を合わせる方法として「キャスト」があります。
変数の「型」を変換する「キャスト」
文字列、整数、小数。変数の型をきっちり決めることができます。また変数の型を変換する方法を「キャスト」といいます。キャストすることで、改めてきっちりデータの型を示したり、明示して変数にしまったりできます。
たとえば(int)をつけると整数型に変換することができます。
$a = "1";
if( (int)$a === 1 ) {
echo "OK"; // 「OK」と出力される
}
上記の場合は $a === 1 はTRUEになり、「OK」とでてきます。(int)をつけることで、$aは一時的に整数型の「1」に変換され、型も一致できているからです。キャストの方法と種類は以下になります。
◎キャストの方法と種類
(int),(integer) – 整数型へキャスト
(bool),(boolean) – 論理値へキャスト
(float),(double),(real) – 浮動小数点数(float)へキャスト
(string) – 文字列へキャスト
(array) – 配列へキャスト
(object) – オブジェクトへキャスト
※今すぐにすべてを覚える必要はありません
実際の開発現場においては「!==」や「===」の[型まで同じの条件式]を多く使います。
できるだけ、あいまいに処理することがないほうが間違いが少なく、さらに問題が起きたときに原因を減らすことができるからです。
はじめのうちの慣れないないうちは、特に意識せずで構いません。
前へ前へすすめましょう。