【PHP】データ型の種類、宣言方法

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';
    }
}
上のように、各々データ型を指定することができます。

PHP

Posted by devsakaso