目次
データ型とは
データ型とは、データの種類のことです。PHPでは、実に様々なデータをスクリプトの中で扱うことができます。
「abc」や「あいうえお」は文字列型、1や5は数値型、true(真)やfalse(偽)は真偽型に分けられます。
分類 | データ型 | 概要 |
スカラー型 | 論理型(bool) | true・false |
スカラー型 | 整数型(int) | 10進数・16進数など |
スカラー型 | 浮動小数点型(float) | 1.8×10の308乗が最大値 |
スカラー型 | 文字列型(string) | クォートで囲まれた0個以上の文字の集合 |
複合型 | 配列型(array) | データの集合 |
複合型 | オブジェクト型(object) | データと手続きの集合 |
特殊型 | リソース型(resouce) | 外部リソースへの参照 |
特殊型 | ヌル型(null) | 値が未定義であることを表す |
スカラー型とは一つの変数で一つの値を扱うことができるものをいいます。データ型の中でも基本的なものだと考えてよいでしょう。スカラー型と対象なのが、複合型でこの方は一つの変数で複数の値をまとめて扱うことができます。そして特殊型はスカラー型・複合型のいずれにも分類することができない特殊な値を表す型のことです。
論理リテラル(bool)
論理型とは、スカラー型の中でも最も単純な方で、真か偽のいずれかの状態しか持ちません。それぞれtrue、falseというキーワードで表現できます。
なお、PHPでは論理リテラルを必要とする状況で、下記の値を自動的にfalseとみなします。
- 空文字列、または文字列の0
- 整数リテラルの0
- 浮動小数点リテラルの0.0
- 要素数が0である(空の)配列
- null(未定義値)
今後、スクリプトを書いていく中でこちらの性質を利用する場合もありますので「falseキーワードだけがfalseを示すわけではない」ということを覚えておきましょう。
整数リテラル(int)
整数リテラルは次のように分類できます。
10進数リテラル
2進数リテラル
8進数リテラル
16進数リテラル
整数リテラルを含めた数値リテラルには様々な表現がありますが、本質的にはこれらの違いは見かけ上のものに過ぎない点に注意してください。
文字列リテラル(string)
文字列リテラルを表すには、文字列全体をシングルクォーテーション、またはダブルクォーテーションでくくりましょう。たとえば、下記に示すものはいずれも正しい文字列リテラルです。
‘おはよう、Laravel’
“おはよう、Laravel”
ではよくある間違いの例を下記に示していきます。
1 2 3 |
<?php $str='She's my girlfriend.'; print $str; |
こちらの例では、’She’で文字列が終了するとみなされてしまい、それ以降の文字列が正しく認識されません。
では、このような場合はどうすればいいのかと思いますよね、、
文字列に含まれない方のフォーテーションでくくる
このような場合はシングルクォーテーションならダブルクォーテーションに切り替える。逆もまた然り。という感じで対応してきます。
1 2 3 |
<?php $str="She's my girlfriend."; print $str; |
ヌル(null)
ヌル型はある変数が値を持たないことを表し、唯一のリテラルとしてnullを持ちます。
下記の条件でヌルであるとみなされます。
- 変数に値が代入されていない場合
- 変数に明示的にnullが代入された場合
- unset命令で変数の内容が破棄された場合
配列(array)
ここまで扱った変数はすべて一つの変数に対して一つの値を持つものばかりでした。しかし、データの種類によっては複数の値をまとめて扱いたいケースもあります。
1 2 |
<?php $data=['田中','山田','佐藤','本田']; |
配列はカンマ区切りの値をブラケットでくくった形式で表現します。
先頭からそれぞれ0,1,2といった順に番号が割り振られます。