PHP初心者必見!「typeof」関数の使い方と応用例7選

PHPのtypeof関数の使い方と応用例を解説する図PHP
この記事は約10分で読めます。

【サイト内のコードはご自由に個人利用・商用利用いただけます】

この記事では、プログラムの基礎知識を前提に話を進めています。

説明のためのコードや、サンプルコードもありますので、もちろん初心者でも理解できるように表現してあります。

基本的な知識があればサンプルコードを活用して機能追加、目的を達成できるように作ってあります。

※この記事は、一般的にプロフェッショナルの指標とされる『実務経験10,000時間以上』を凌駕する現役のプログラマチームによって監修されています。

サイト内のコードを共有する場合は、参照元として引用して下さいますと幸いです

※Japanシーモアは、常に解説内容のわかりやすさや記事の品質に注力しております。不具合、分かりにくい説明や不適切な表現、動かないコードなど気になることがございましたら、記事の品質向上の為にお問い合わせフォームにてご共有いただけますと幸いです。
(送信された情報は、プライバシーポリシーのもと、厳正に取扱い、処分させていただきます。)

はじめに

PHPの世界へようこそ!

この記事では、PHP初心者のあなたでも「typeof」関数の理解と使用ができるようになるための情報を提供します。

「typeof」関数の基本的な使い方から、詳細な使い方、応用例まで幅広く解説します。

それぞれの説明には実際のコード例も掲載しているため、読み進めながら実際に手を動かして学ぶことができます。

ぜひあなたのPHPスキルアップにお役立てください。

●PHPとは

PHPは、Webサーバーサイドで動作するスクリプト言語の一つです。

その特長としては、HTMLに直接埋め込むことができる柔軟性と、多機能ながらも学習コストが比較的低い点が挙げられます。

また、オープンソースという性質上、全世界の開発者によって機能が追加され、改善されていきます。

○PHPの歴史と特徴

PHPは、1995年にRasmus Lerdorfによって開発されました。

当初は「Personal Home Page Tools (PHP Tools)」という形で、個人的なウェブページの管理を助けるツールとして開発されたものでした。

その後、大規模なWebアプリケーション開発にも対応できるようにと、多くの機能が追加され、現在のPHPへと進化しています。

現在でも、全世界のWebサイトの多くがPHPで構築されており、その人気と影響力は大きいです。

●「typeof」関数とは

実はPHPには直接「typeof」という関数は存在しません。

JavaScriptなど他の言語には存在しますが、PHPで変数の型を知りたい場合は「gettype」関数を使用します。

○「typeof」関数の基本的な使い方

「gettype」関数の基本的な使い方は非常にシンプルです。

引数に型を調べたい変数を指定し、その結果として文字列形式で型名が返されます。

例えば、次のように使用します。

$var = "Hello, World!";
echo gettype($var);  // 出力: string

このコードでは、文字列 “Hello, World!” を含む変数 $var の型を調べています。

gettype($var) の結果は “string” となり、これが echo によって出力されます。

●「typeof」関数の詳細な使い方

「gettype」関数は、PHPにおけるデータ型を取得するための機能で、文字列、数値、配列など、多様なデータ型の調査が可能です。

○サンプルコード1:文字列の型をチェックする

このコードでは文字列 “Hello, World!” の型を調べています。

$var = "Hello, World!";
echo gettype($var);  // 出力: string

文字列 “Hello, World!” を変数 $var に代入し、その型を gettype($var) を用いて調べています。

この結果、”string” と出力されます。

つまり、変数 $var は文字列型(string)であることがわかります。

○サンプルコード2:数値の型をチェックする

このコードでは、整数の型を調べる例を紹介しています。

$var = 123;
echo gettype($var);  // 出力: integer

整数 123 を変数 $var に代入し、その型を gettype($var) で調べています。

結果は “integer” となります。

これにより、変数 $var が整数型(integer)であることが判明します。

○サンプルコード3:配列の型をチェックする

このコードでは、配列の型を調べる例を表しています。

$var = array("apple", "banana", "cherry");
echo gettype($var);  // 出力: array

この例では、文字列 “apple”, “banana”, “cherry” を要素に持つ配列を変数 $var に代入し、その型を gettype($var) で調べています。

結果は “array” となります。

これにより、変数 $var が配列型(array)であることが判明します。

以上が「gettype」関数の詳細な使い方です。

この関数を使用することで、様々なデータ型の変数の型を調べることが可能です。

●「typeof」関数の応用例

「gettype」関数は基本的な使い方だけでなく、様々な応用例があります。

ここでは、「gettype」関数を使って変数の型に応じた処理を分岐する方法や、型に応じたエラーメッセージを出力する方法、データ型を変換する方法、データ型を安全に比較する方法など、4つの具体的な応用例を紹介します。

○サンプルコード4:変数の型に応じた処理を分岐する

このコードでは、「gettype」関数を使って変数の型に応じた処理を分岐する例を表しています。

$var = "Hello, World!";
$type = gettype($var);
switch ($type) {
    case 'string':
        echo $var . " is a string.";
        break;
    case 'integer':
        echo $var . " is an integer.";
        break;
    default:
        echo $var . " is not a string or integer.";
}
// 出力: Hello, World! is a string.

変数 $var には文字列 “Hello, World!” が代入されています。

gettype($var) でその型を取得し、それを switch 文で分岐しています。

結果として “Hello, World! is a string.” と出力されます。

○サンプルコード5:型に応じたエラーメッセージを出力する

このコードでは、’gettype’関数を使って変数の型に応じたエラーメッセージを出力する例を表しています。

function printNumber($var) {
    if (gettype($var) != 'integer') {
        echo "Error: " . $var . " is not a number.";
    } else {
        echo $var;
    }
}

printNumber("Hello, World!");  // 出力: Error: Hello, World! is not a number.

この例では、関数 printNumber を定義しています。

この関数は引数として一つの変数を受け取り、その変数が整数型であるかどうかを gettype 関数を用いて判断します。

もし整数型でなければ、エラーメッセージを出力します。

今回の場合、文字列 “Hello, World!” を引数として渡しているため、”Error: Hello, World! is not a number.” というエラーメッセージが出力されます。

○サンプルコード6:データ型を変換する

このコードでは、データ型を変換するために ‘gettype’ 関数を使用する例を表しています。

$var = "123";
if (gettype($var) == 'string') {
    $var = (int)$var;
}
echo gettype($var);  // 出力: integer

このコードでは、文字列 “123” を変数 $var に代入し、その型が文字列型であるかを gettype 関数で調べています。もし文字列型であれば、強制的に整数型に変換しています。

その結果、最終的には ‘integer’ が出力され、変数 $var が整数型になっていることが確認できます。

○サンプルコード7:データ型を安全に比較する

このコードでは、’gettype’ 関数を使用して、データ型を安全に比較する例を紹介しています。

$var1 = 123;
$var2 = "123";

if (gettype($var1) == gettype($var2)) {
    echo "Same type.";
} else {
    echo "Different type.";
}
// 出力: Different type.

この例では、整数の 123 を変数 $var1 に、文字列の “123” を変数 $var2 にそれぞれ代入しています。

これらの変数の型を gettype 関数で取得し、比較しています。

整数と文字列という異なる型のため、”Different type.” が出力されます。

●「typeof」関数を使う際の注意点と対処法

PHPには「typeof」関数は存在せず、「gettype」関数を使用します。

このことは初心者の方々にとってよくある誤解であり、JavaScriptなど他の言語から来た方々が特に混乱するポイントです。

そこで「gettype」関数の使用例を再度見てみましょう。

このコードは、変数の型を判断して出力するために使用します。

$var = 123;
echo gettype($var);  // 出力: integer

この例では、整数の123を変数 $var に代入し、その型を gettype 関数で判断しています。

そして、その結果を出力することで、変数 $var が整数型であることが確認できます。

しかし、注意点としては、’gettype’ 関数は厳密な型比較ではなく、あくまで変数の型情報を取得するものであり、それに基づいて条件分岐などを行う際は注意が必要です。

例えば、次のようなコードを考えてみましょう。

$var1 = 123;
$var2 = "123";

if (gettype($var1) == gettype($var2)) {
    echo "Same type.";
} else {
    echo "Different type.";
}
// 出力: Different type.

このコードでは、変数 $var1$var2 の型を比較しています。

見た目ではどちらも123に見えますが、変数 $var1 は整数の123で、変数 $var2 は文字列の “123” です。

それぞれの型を gettype 関数で取得して比較すると、「整数」と「文字列」という異なる結果になるため、”Different type.” と出力されます。

つまり、gettype 関数はあくまで変数の型を取得するもので、厳密な比較を行うためには追加の工夫が必要となります。

こうした状況を解決するための一つの対策として、型キャストを利用することがあります。

$var1 = 123;
$var2 = (int)"123";

if (gettype($var1) == gettype($var2)) {
    echo "Same type.";
} else {
    echo "Different type.";
}
// 出力: Same type.

このコードでは、文字列 “123” を整数型にキャストして変数 $var2 に代入しています。

その結果、変数 $var1$var2 は共に整数型となり、”Same type.” と出力されます。

このように、「gettype」関数はPHPにおける型管理の中心的な役割を果たしますが、その使い方には注意が必要です。

型の取得だけでなく、厳密な比較や適切な型への変換も考慮することで、より安全かつ効率的なコーディングが可能になります。

まとめ

今回は、「gettype」関数の基本的な使い方から応用的な使い方、そして注意点と対策について詳しく説明してきました。

これらの知識を駆使して、PHPコードの品質を一層向上させることができます。

始めは少し複雑に感じるかもしれませんが、繰り返し手を動かして実践的な経験を積むことで、理解が深まるはずです。

「gettype」関数の活用は、あなたのPHPコーディングスキルを次のレベルへと引き上げる一助となるでしょう。

最後までお読みいただき、ありがとうございました。

あなたのPHP学習が楽しく、そして実りあるものとなりますように。