テクノロジー

2023年1月1日

PHPの世界へようこそ

  • PHPで扱われるデータには種類があることが理解できる
  • 変数の型を確認・変換できる

PHPの世界へようこそ

これからいよいよ、”PHPの世界”の深くに踏み込んでいきます。
あなたが日本で暮らすために日本語を話し、日本円を使って買い物をし、お金を預けたり下ろしたりする時には銀行に行ったりするように、PHPでプログラミングするためにはPHPの世界のことを知らなくてはなりません。
PHPの世界は、もちろんPHPの言葉しか使えません。データがどんな性質を持ってどこに所属し、扱っている場所はどこなのかということを知らなくてはなりません。

あなたが初めて行く国でも、見よう見まねでなんとなく過ごすことができるように、PHPの世界のことを知らなくてもなんとなくコードが書けてしまいます。しかし、その自分が扱っているデータはそもそもも何なのか、どのような仕組みなのかを知らずにいると、エラーメッセージの意味がわからず必ず行き詰まってしまいます。
これから少しずつ、PHPの世界を理解していきましょう。

PHPの世界で扱われるデータの種類

PHPで扱われるデータの種類は、大きくスカラー型、複合型、特殊型の3つに分類されます。

スカラー型

スカラー型は、一つの変数に対して一つの値だけ扱うことができるデータ型であり、整数型や文字列型、論理型などがあります。
スカラ型の一覧を以下の表にまとめています。

型名 データ型
文字列型 string型 ‘Hello,World’, “あ”, ‘1’
整数型 integer型 1、0, -1などの整数(*8進数や16進数も含む)
浮動小数点数型 float型、double型 0.1などの小数点数
論理型 boolean型 TRUE, FALSE, true, falseなど(*大文字や小文字を区別しません。)

複合型

複合型は、一つの変数で複数の値をまとめて扱うことができるデータ型です。

型名 データ型 説明
配列型 array 複数のデータを扱うためのデータ型
オブジェクト型 object クラスから生成したインスタンス

配列型とオブジェクト型については、以降のテキストで説明します。

特殊型

特殊型は、スカラー型や複合型以外の特殊なデータを扱うためのデータ型です。

型名 データ型 説明
リソース型 resource 外部リソースへの参照(ファイルデータなど)
NULL型 null ある変数が値を持たないことを表す

リソース型やNULL型についても、以降のテキストで詳しく説明します。

リテラルとは

先ほど1 は整数であるinteger型、'Hello,World' は文字列であるstring型と説明しました。
ではPHPは、どのようにして型を認識しているのでしょうか。

リテラルとデータ型の関係

それぞれのデータ型には表記法があります。たとえば 1 は半角の数字ですし、'Hello,World' はシングルクォートで囲まれています。このような表記法のことを リテラル といいます。リテラルは 値そのものを直接プログラムの中に記述するための表記法 であり、リテラルによって型が判断されています。

先ほど紹介したスカラー型や特殊型のNULL型は、リテラルの書き方によってどの型に属するかが判断されます。

型を確認する関数

リテラルやオブジェクトがどのデータ型かを確認するための関数として、gettypeという関数が用意されています。
チェックしたい内容を括弧()で囲みます。

[例]

<?php

echo gettype(1) . PHP_EOL;
echo gettype('Hello,World') . PHP_EOL;
echo gettype(true) . PHP_EOL;

[実行結果]

$ php sample.php
integer
string
boolean

型を変換する関数

データ型を変換する関数が用意されています。
例えば、intval は、与えられた値をinteger型に変換する関数です。

[例]

<?php

$number = '6';
echo gettype($number) . PHP_EOL;
echo gettype(intval('6')) . PHP_EOL;

[実行結果]

$ php sample.php
string
integer

PHPの世界で生きていこう

PHPを実行するとき、PHPインタプリタを立ち上げたり、phpファイルをPHPコマンドで実行します。
PHPインタプリタが起動した瞬間、PHPコマンドを実行した瞬間にPHPの世界は始まります。

エラー対応時にも常にデータ型を意識しよう

あなたは、これからPHPでたくさんのプログラムを作っていきます。その中で多くのエラーにも遭遇します。
その時に、今自分はどのデータ型を扱っているのかということを常に意識できるようになると、エラーの解決もスムーズになるでしょう。

評価ポイントとコメントを受け取って表示するまでをつくってみよう

これから、基本的な型を一つ一つ確認しながら、掲示板アプリケーションのバックエンドプログラムの基礎を作っていきます。
php_sampleディレクトリに学習用のsample.phpを作成している方は、中身を削除して新しく記述してください。
phpファイルをまだ作成していない方は、ホームディレクトリにphp_sampleディレクトリを作成し、その中にsample.phpというファイルを新規作成しておいてください。
このプログラムに必要な要素を次回以降のテキストで学習していきますので、どのようなプログラムになるのか想像しながら進めてください。

プログラムの要件

- “1~5で評価を入力してください。終了する場合は「6」を入力してください”と出力する
- `readline`で入力された評価ポイント受け取る
- 数字以外が入力された場合は”数字を入力してください”と出力して入力モードにする。6が入力された場合は”終了します”と出力してプログラムを終了する
- `readline`で入力されたコメントを受け取る
- 評価ポイントとコメントを”あなたのポイント:○ あなたのコメント:○○○”と出力する
- 1に戻る

まとめ

- PHPのデータ型は大きくスカラー型、複合型、特殊型の3つに分類される。
- リテラルの書き方によって値がどのデータ型に属するかが判断される。
- `gettype()`を使うと、型を確認できる。

公式ドキュメント・参考情報

DIVE INTO CODEのことをもっと知ってみませんか?