【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