メモ > 技術 > プログラミング言語: PHP > 変数
変数
以下のようにすると、関数に渡す値の型をチェックできる。
ただしあくまでも、関数に渡すときの挙動のみ。(常に変数の型宣言が利用できるようになるわけでは無い。)
<?php
declare(strict_types=1); // 型チェックを厳密にする
function add(int $a, int $b) : int {
return $a + $b;
}
echo add(1, 2); // 計算できる
echo '<hr>';
echo add(2, '3'); // Fatal error「Uncaught TypeError」が発生する
echo '<hr>';
function add5(?int $a) : ?int {
if (is_null($a)) {
return null;
}
return $a + 5;
}
echo add5(2);
echo '<hr>';
echo add5(null); // nullが返される
echo '<hr>';
function add10(int $a = null) : ?int {
if (is_null($a)) {
return null;
}
return $a + 10;
}
echo add10(2);
echo '<hr>';
echo add10(); // nullが返される
echo '<hr>';
echo 'TEST';
PHP 型チェックを厳密にしたい - かもメモ
https://chaika.hatenablog.com/entry/2022/11/21/123048
PHPで型宣言してますか? - RAKUS Developers Blog | ラクス エンジニアブログ
https://tech-blog.rakus.co.jp/entry/20220323/php
「strict_type=1」とあるが「strict_types=1」の間違いだと思われる。
Advertisement