【PHP入門】変数とデータ型

変数にはデータ型と呼ばれるデータの性質を表す定義があります。

データ型はプログラムを動作する上で、重要な役割を持ちます。

データ型とは

データ型とはデータの性質を表すものです。

例えば、1234というデータがあった場合、文字列なのか、数値なのかをデータ型で定義します。

具体例を見ていきましょう。

◆ ソースコード

<?php

// 文字列の1234
$moji = '1234';
// $mojiのデータ型を出力
echo '$moji -> '.gettype($moji)."\n";

// 数値の1234
$num = 1234;
// $numのデータ型を出力
echo '$num -> '.gettype($num)."\n";

?>

◆ 実行結果

$moji -> string
$num -> integer

見慣れない記述のgettype()がありますが、これは関数と呼ばれるものでここでは今後の紹介いたします。

ここではgettype()の括弧の中に変数を記述すると、その変数の型の文字列になると理解しましょう。

実行結果を見ると$mojiはstring、$numはintergerと出力されています。

これは$mojiは文字列、$numは整数という意味になります。

他にもデータ型は多種あり、主な種類は以下になります。

・整数型 integer

・浮動小数点数型 float / double

・文字列型 string

・論理型 boolean

・配列型 array

・オブジェクト型 object

・NULL型 NULL

初めに覚えておきたい型の整数型(integer)、浮動小数点数型(float/double)、文字列型(string)、論理型(boolean)をここでは解説します。

整数型(integer)

整数型を定義するデータ型はintegerです。

プログラムで使用する際は、変数に整数値を代入してあげると、変数の型が自動でintegerになります。

◆ ソースコード

<?php
// 変数に整数1234を代入
$var = 1234;
// $varのデータ型を出力
echo '$var -> '.gettype($var)."\n";
?>

◆ 実行結果

$var -> integer

浮動小数点数型(float / double)

浮動小数点数型を定義するデータ型はfloatとdoubleです。

2つの違いはdoubleの方が小数点以下の桁数が多いことですが、データ型を出力した際はPHPの仕様上、floatでもdoubleでもdoubleと出力されます。

プログラムで使用する際は、変数に浮動小数点数を代入してあげると、変数の型が自動でfloat/doubleになります。

◆ ソースコード

<?php
// 変数に1234.567を代入
$var = 1234.567;
// $varのデータ型を出力
echo '$var -> '.gettype($var)."\n";
?>

◆ 実行結果

$var -> double

なお、浮動小数点数は数学的概念の理解も必要になってくるので、最低限必要な部分の解説となります。

文字列(string)

文字列を定義するデータ型はstringです。

プログラムで使用する際は、変数に文字列(シングルクォーテーションまたはダブルクォーテーションで囲む)を代入してあげると、変数の型が自動でstringになります。

◆ ソースコード

<?php
// 数値の文字列の980を代入
$var = '980';
// $varのデータ型を出力
echo '$var -> '.gettype($var)."\n";
?>

◆ 実行結果

$var -> string

論理型(boolean)

論理型を定義するデータ型はbooleanです。

論理型は真偽を表し、簡単に言うと『Yes』か『No』を表すデータを扱う際に使用されます。

ソースコードでは『Yes』の場合はtrue,『No』の場合はfalseを記述します。

ソースコードで具体例とデータ型を確認しましょう。

◆ ソースコード

<?php

// trueを変数に代入
$var_t = true;
// $varのデータ型を出力
echo '$var_t -> '.gettype($var_t)."\n";

// falseを変数に代入
$var_f = false;
// $varのデータ型を出力
echo '$var_f -> '.gettype($var_f)."\n";

?>

◆ 実行結果

$var_t -> boolean
$var_f -> boolean

なお、論理型(boolean)はtrueかfalseのどちらかの値のみ扱えます。

まとめ

今回は変数を解説しました。

変数はプログラムのメインどころになりますので、是非習得しましょう。