Memo

メモ > 技術 > プログラミング言語: 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