PHP - 文法 - 型


 クラウディア


1. 概要
2. 一般的な型
3. nullable な型
4. mixted
5. 参考サイト

1. 概要

 以前「PHP 5.6」から「7.2」へ移行したものだから、その間のこまごまとした経緯はよくわからんのです。  とりあえず、「PHP 7.2」以降、関数の引数や戻り値に型を定義することができるぞ・・・と。  これは、C言語がネイティブな人にとってはありがたいかもしれない。  ちなみに、2026年5月19日現在使用しているのは、「PHP 8.4.21」です。

2. 一般的な型

 2026年5月19日現在、下記のような一般的な型が存在します。
型 宣言 備考
整数 int
浮動小数点 float、double
論理型 bool
文字列 string
配列 array
オブジェクト object
リソース resource
ヌル null

3. nullable な型

 本項は、参考サイトの請売りです。  「PHP」の場合、あるときは型規則からはずれて「NULL」として扱いたい時があるんだな。  これ、型宣言をしている型の前に ?(クエスチョンマーク)を書くことで「nullable」であることを定義できるんです。  便利。

4. mixed

 「PHP 8.0.0」以降では、今度は逆に、なんでもありの型「mixed」というものが定義されております(2021年10月13日、リリースされてだいぶたってるけど)。  「mixed」は「NULL」を含んでいるので、「mixed」の型の前に、前項の「?」(nullable)をつけたら、エラーになります。

<?php
function f(mixed $arg): mixed
{
	switch($arg)
	{
	case NULL:
		printf("NULL が来た\n");
		break;

	case 1:
		printf("数値の 1 が来た\n");
		break;

	case '2':
		printf("文字の 2 が来た\n");
		break;

	case true:
		printf("bool の true が来た\n");
		break;

	default:
		break;
	}

	return $arg;
}

$return = f(NULL);
printf("[".$return."]が返った\n");

$return = f(1);
printf("[".$return."]が返った\n");

$return = f('2');
printf("[".$return."]が返った\n");

$return = f(true);
printf("[".$return."]が返った\n");
 てな、ソースを書いて実行すると、下記の結果が得られます。

NULL が来た
[]が返った
数値の 1 が来た
[1]が返った
文字の 2 が来た
[2]が返った
数値の 1 が来た
[1]が返った
 与える側と、受け取る側で、いくらかの齟齬があるので、気を付けないとね。  「1」と「true」は、ごっちゃになるわけです。  かと言って、「switch」の「case」には、それぞれ書いても、文法エラーには、ならないんだな。

5. 参考サイト

 本ページは、下記のサイトを参考にさせていただきました。
「PHP: 型」
「PHPの型一覧 変数の型とタイプヒンティングできる型は別 #初心者」
「PHP マニュアル - 付録 - PHP 7.0.x から PHP 7.1.x への移行」

audiobook.jp
Amazonギフトカード
ハイスピードプラン
U-NEXT
JETBOY
5G CONNECT
ネットオークションの相場、統計、価格比較といえばオークファン
葬送のフリーレン Prime Video
アフィリエイトのアクセストレード
健康サポート特集
TikTok Shop 【リピート用プログラム】
損保との違い
薬屋の独り言
ベルリッツ
【usus ウズウズ】
それがだいじWi-Fi
EaseUS
サウンドハウス
earthcar(アースカー)