カスタム検索

データ型

PHPをはじめ、多くのプログラミング言語には、データの型(タイプ)という概念があります。データ型とは、簡単に言えば、変数の値がどのような状態にあるのか?ということです。

しかし、PHPの場合、違う型のデータでも、自動で変換されて処理されるところがあったりする(これをデータ型に弱い等と言います)ため、あまり意識しなくてもプログラミングできます。しかし、データ型の違いを意識した上でプログラミングを行うことは、正しいプログラムを書くために大切なことです。

ただ、始めのうちは、あまり難しく考えずに、データには型があるということを頭に置いておくだけで十分です。気にするよりも、たくさんコードを書いていたほうが、身に付くものです…

例えば、これまでの説明で、変数には何らかの文字列を代入してきました。

<?php
// 変数に値(文字列)を代入
$word "Hello World\n";

// 文字列を出力
echo $word;

この例の場合、変数$wordには文字列が代入されています。したがって、この変数$wordの型は、文字列型となります。

もうひとつ、例を挙げてみます。

<?php
// 変数に値(整数値)を代入
$number 3;

// メッセージを出力
echo 'ラッキーナンバー:' $number "\n";

この場合は、変数$numberには整数値が代入されているので、整数型となります(整数として値を代入するには、『'』や『"』で値を囲む必要はありません)。

データ型の種類

PHPには、8個のデータ型があります。それらを簡単に説明します。

文字列型(String)
これまでの例で使用してきた型です。変数に代入するには、『'』や『"』で囲みます。
整数型(Integer)
その名のとおり、整数です。負の数も含みます。変数に代入する場合、『'』や『"』で囲む必要はありません。『'』や『"』で囲んでしまうと、文字列とみなされ、文字列型となります。
扱うことのできる数の範囲は、コンピュータのCPUによって変わってきます。PHPでは、整数型で扱うことができる範囲を越える場合、その値は浮動小数点型に自動的に変換されます。
浮動小数点型(Float)
浮動小数点型は、小数を扱う場合に使用します。整数型と同様、『'』や『"』で囲む必要はありません。
論理型(Boolean)
真(TRUE)あるいは、偽(FALSE)のどちらかの値だけを持つ型です。『'』や『"』で囲む必要はありません。

以上の文字列型(String)、整数型(Integer)、浮動小数点型(Float)、論理型(Boolean)は、1つの値だけを保持することができます。このような型はスカラー型と呼ばれることもあります。

配列型(Array)、オブジェクト型(Object)
配列型とオブジェクト型は、複数の値や処理の塊などを保持することができる型です。この2つの型については、後々、じっくりと説明したいと思います。この2つの型は、スカラー型に対し、複合型と呼ばれることがあります。
リソース型(Resource)
PHPでは、データベースやファイルなど、外部のデータを扱うこともできます。そういった、データベースとの接続等の管理にリソース型は使用されます。
ヌル型(Null)
ヌル型は、何の型も定義されていない状態、つまり、変数に何も値が代入されていないことを意味します。

変数の型を調べる

変数に代入されているデータの型を調べる方法はいくつかありますが、扱いやすく、便利なものの中にvar_dump()関数があります。関数については、次ページで詳しく説明しますが、var_dump()関数は、変数の情報を出力する機能を持っています。

以下は、var_dump()関数を使用した簡単な例です。

var_dump_example.php
<?php
/**
 * var_dump()関数を使用した例
 */

// 変数に値を代入
$word '変数には型がある';

// 変数の情報を出力
var_dump($word);
var_dump_example.phpの実行結果
string(24) "変数には型がある"

実行結果を見ると、まず、『string』と表示され、string型(文字列型)であることが分かります。

続いて、()で囲まれた数字が文字数を表しています。日本語を出力しているので、2文字分、あるいは、3文字分の文字数をカウントします。上の出力結果は、3文字分でカウントされています。これは実行環境の文字エンコーディングによって変わってきます。

最後に実際に代入されている値が出力されます。

もうひとつ、例を示します。

var_dump_example2.php
<?php
/**
 * var_dump()関数を使用した例
 */

// 変数に値を代入
$string  'string';
$integer 100;
$float   3.141592;
$boolean TRUE;
$null    NULL;

// 変数の情報を出力
/*
ブラウザで出力結果を確認する場合、
<pre>タグで囲むと良いと思います。
*/
//echo '<pre>';
var_dump($string);
var_dump($integer);
var_dump($float);
var_dump($boolean);
var_dump($null);
//echo '</pre>';
var_dump_example2.phpの実行結果
string(6) "string"
int(100)
float(3.141592)
bool(true)
NULL

int、float、boolean型は、()の中に代入された値が表示されます。null型は、そのまま何もなく出力されます。var_dump()関数は、変数の内容を型などと一緒に出力してくれるので、デバッグ用途にも有効だと思います。

レンタルサーバーなら使えるねっと
CopyLeft 2010 PEABOX.COM サイト管理者に連絡