Blogブログ

PHP講座第8回:型を覚えよう!

2012/11/20

phpには型という物があります。

以前解説した変数を使う時に意識するものなんですが、

型には8個の型があります。

簡単に言うとデータを保持する変数に何が入っているのか?

数字の型なのか文字列の型なのかという感じです。

では、具体的にどんなものがあるか見ていきましょう。

1、文字列型(string)
2、整数型(integer)
3、浮動小数点型(float、double)
4、論理型(boolean)
5、ヌル型(null)
6、配列型(array)
7、オブジェクト型(object)
8、リソース型(resourse)

文字列型(string)

これは文字列を入れる型です。

文字列を「”」半角のダブルクオテーションでくくります。

$word = "あいうえお";

ポピュラーな型でよく使います。

整数型(integer)

これは整数を入れる型です。

整数は「”」ダブルクオテーションではくくりません。

$number = 15;
//計算もできます。
$number1 = 10;
$number2 = 20;
$total = $number1 + $number2;

//合計の30が表示されます。
print $total;

浮動小数点型(float、double)

整数と小数点付きの数字は区別され、こちらは少数点がある数字を扱えます。

$float = 20.524;

論理型(boolean)

ここからちょっとプログラムっぽくなってきます。

論理型(boolean)とは値が2種類しかなく、true と false というのがその値になります。

日本語にすると true(真) false(偽)と書きます。

if文でよく使い

例えば

$flag = true;
if ( $flag ) {
    print "真です";
}else{
    print "偽です";
}

if文の後ろの括弧の中はtrue か falseの判定をしています。

true なら次に続く{}の中の処理を行い、falseならelseに続く{}の中を処理します。

上記のプログラムの出力結果は「真です」となるのですが、

1行目の$flag = true;を$flag = false;に変更すると

出力結果は「偽です」となります。

ヌル型(null)

これもかなり特殊なのですが、値はnullの1つしかありません。

値が何もないという状態です。

$value = null;

こういった感じで定義します。

if文で

if ( $value === null ) {
    print "値がありません";
}

こんなような使い方をします。

ちなみに === とは中身の値が同じで型も一緒の状態を表します。

配列型(array)

おそらくphpではこの配列型が一番よく使うと思います。

まとめてデータを扱いたい時に配列は便利です。

例えば食べ物のデータを扱いたいとします。

今までなら文字列型を使って

$food1 = "ごはん";
$food2 = "肉じゃが";
$food3 = "みそ汁";

のように変数にいれていましたが、同じ種類のデータを同一のくくりで一つの変数にいれてしまえるのが配列です。

具体的には

$food[0] = "ごはん";
$food[1] = "肉じゃが";
$food[2] = "みそ汁"

//出力する時には下記のようにすると「ごはん」と出力されます
print $food[0];

配列は0から使えます。

$food[] = "ごはん";
$food[] = "肉じゃが";
$food[] = "みそ汁"

このように番号を指定しないと0から順番に0、1、2と自動で番号が振られます。

この番号の事を添え字と呼びます。

この添え字は文字でもできます。その場合は「’」シングルクオテーションでくくってあげましょう。

$food['rice'] = "150円";
$food['nikujaga'] = "300円";
$food['misosoup'] = "100円";
//データを出力するには
print $food['rice'];
//とすると100円と出力されます

配列はとても便利&よくでてくるので覚えておいて損はないです。

プログラムの中に何度かでてきている // はコメントアウトという意味で

プログラムが処理されていく時にコメントアウトの部分は飛ばされます。

なので、ややこしい所をあとからみて分かるようにコメントを入れる時などに使われます。

コメントアウトに関しては複数行にまたがる場合

/*
ここはコメントアウトなので飛ばされます

*/
print "これは表示されます。";

こういった感じで/* ? */ の間で書いた物もコメントアウト扱いになります。

7、オブジェクト型(object)
8、リソース型(resourse)

に関してはまだでてきていないのと、今の段階ではまだ説明の必要がないと思いますので説明を割愛します。

だいぶ省略して書いている部分もあるのですが、あまり細かい定義までやるとよくわからなくなるので、

こんなものかと理解したら先に進む方がプログラムの上達が早いと思います。

ある程度プログラムを書いたあと、戻って細かい定義を理解した方が頭に入りやすいと私は思います。

他社より断然お得で使いやすい
”アクトのWEB制作”
ACTホームページ相談窓口 / 
システム開発相談窓口