マニュアルを読んでみるとすぐわかることだったのに(´・ω・`)ショボーン
<?php $initTest = new InitTest(); /** * floatとint型を値&型チェック(===)しているので * この条件分岐はfalseになる */ if ($initTest->getLine() === 1) { echo "true".PHP_EOL; } else { echo "false".PHP_EOL; } ?> <?php class InitTest { private $line; function __construct() { // ここの型はfloatになる $this->line = ceil(2/2); } public function getLine() { return $this->line; } } ?>
その場合、int型へキャストしてあげれば良い。
<?php function __construct() { // ここの型はfloatになるので、int型へキャストする。 $this->line = (int) ceil(2/2); }
これでおk