dポイントプレゼントキャンペーン実施中!

strict_typesディレクトリに1を与え厳密な型チェックを有効にしようとし、
以下のようPHPを記述しました。
すると

"Fatal error: strict_types declaration must be the very first statement in the script in C:\xampp\htdocs\myPHP\●●●\●●●\main.php on line 4"

と出ます。一番最初に記述し、スペルミスもないように思えますが何度やってもお同じです。今、引数や戻り値に型を指定する「型宣言」あたりを学習しています。

-------
<?php
declare(strict_types=1);

function getTriangleArea(float $base, float $height):float{
return $base * $height / 2;
}
$area = getTriangleArea(10.8, 10);
print "三角形の面積は{$area}㎡です!";
?>
-------

ちなみに"declare(strict_types=1);"の部分をコメントアウトすると添付画像のようにちゃんと表示されます。

declare(strict_types=1); の使い方を間違えているのでしょうか?
原因の分かる方いらっしゃいましたら教えてください。

「【PHP】declare命令で”Fata」の質問画像

A 回答 (2件)

おそらく、BOMではないかと




https://www.php.net/manual/ja/control-structures …

https://www.out48.com/archives/3882/
※ headerについてだけども「先頭に書く」ということでは同じ
    • good
    • 1

エラーメッセージの最後が


on line 4
となっていることから,
declare(strict_types=1);
は 4行目にある (と PHP の処理系は理解している).

そこまでの 3行がどうなっているか確認しよう.

あ, たぶん「strict_typesディレクトリ」じゃないよ.
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!