Fatal error: Uncaught Error: Undefined constant
環境
os:mac
vscode1.70.0
php8.1.8
解決したいこと
・数値を3つ引数として渡して、その数値の平均値を返す。
・また、引数が3つでない場合と引数が数値でない場合、エラーメッセージを返す。
上記の条件で作成した関数の条件分岐で、
「数字以外が入力されたらエラーメッセージをechoする」、
という部分で、上記のメッセージがechoされず、
Fatal error: Uncaught Error: Undefined constant...とエラーが出てしまいます。
発生している問題・エラー
Fatal error: Uncaught Error: Undefined constant "a" in /Users/mm/Desktop/work/myapp/Lesson08/index.php on line 27
Error: Undefined constant "a" in /Users/mm/Desktop/work/myapp/Lesson08/index.php on line 27
該当するソースコード
function average_calc(int $num){
$args = func_get_args();
$total_num=0;
foreach ($args as $key => $val) {
$total_num += $val;
}
$args_count = func_num_args();
if($args_count == 3){
if(preg_match('/[0-9]/',(int)$args,$matches)){
echo "引数が3つ、かつ数値でした。</br>";
return $total_num/3;
}elseif(preg_match('/[^0-9]/',$args,$matches)){
echo "{$matches}</br>引数は3つでしたが、数値ではありません。";
}else
echo 'その他のerrorです。';
}
else
echo "引数が3つ入力されていません。";
}
echo average_calc(1,2,a);
自分で試したこと
エラーメッセージを見ても
echo average_calc(1,2,a);の行でaって打ってるからだよーとしか書いておらず解決方法がわかりません。
色々試したのですが、PHP8.0以降だとどうしても今回のエラーメッセージが出てしまうという記事も見ました。
もし宜しければご助言よろしくお願い致します。