【PHP】データ型の種類、宣言方法
PHPのデータ型の種類、宣言方法を紹介します。
PHPのデータ型の種類
以下が公式ドキュメントでデータ型の種類を確認できます。
https://www.php.net/manual/ja/language.types.declarations.php
<?php
declare(strict_types=1);
上のようにするとそのファイル全体がデータ型に対して
厳密に検査するモードに移行されます。
データ型をつける場合は、上の記述を書かないと中途半端になるので、
忘れずに記載します。
<?phpdeclare(strict_types=1);
// 整数値にしたい
// (int $val)は引数のデータ型
// : intは戻り値のデータ型
function addNum (int $val): int {
return $val + 1;
}
$result = addNum(1); //OK
$result = addNum('あああ'); //NG
上のように、整数値にの引数にしたい場合、(int $val)
という記述をします。
そうすることで、整数値以外が渡ってきたときにfatalエラーにすることができます。
: int
は戻り値のデータ型を意味します。
つまり、上のreturnの戻り値には、必ず整数値であることが求めれられるようになります。
戻り値にvoidを指定すると戻り値なしにできる
<?phpdeclare(strict_types=1);
function addNum2 (int $val): void {
echo $val + 1;
// returnをできない
}
戻り値にvoidを指定すると戻り値なしにできます。
クラスでもデータ型の指定は可能
<?php
abstract class Animal
{
protected string $name;
public int $age;
public static string $LIKE = 'eating';
function __construct(string $name, int $age)
{
$this->name = $name;
$this->age = $age;
}
abstract function hello(): self;
static function bye(): void {
echo 'bye';
}
}
上のように、各々データ型を指定することができます。