機能戻り値:PHP.
-
12-11-2019 - |
質問
私が欠けているものがわからないが、$c
を正しく出力することはできません。
<?php
function pythThm($a, $b){
$a2 = pow($a, 2);
$b2 = pow($b, 2);
$c = sqrt($a2 + $b2);
if(is_int($c)){return $c;}
}
echo pythThm(3, 4);
//outputs nothing, should be 5
?>
.
初心者の質問をお詫び申し上げます。
問題の解決策:
.
<?php
function pythThm($a, $b){
$a2 = pow($a, 2);
$b2 = pow($b, 2);
$c = sqrt($a2 + $b2);
if($c - round($c) == 0){return $c;}
}
echo pythThm(4, 4);
//returns nothing
echo pythThm(3,4);
//returns 5
?>
答えたすべての人のおかげです...次回の機能についての全情報を読むようにします!
解決
sqrt
はfloat
を返します。これはint
ではないため、関数は何も返しません。is_int
チェックを終了するだけですか?
他のヒント
sqrt
は常にfloatを返します。あなたのIFステートメントは常にfalseです。
小切手をしたい場合は、これを行います。
$i = (int) $c;
if($c == $i) return $c
.
これがin intにfloatをキャストするもので、float $c
とint $i
が等しい場合は、が返されます。
sqrt
はfloat
を返します。
本当に整数かどうかを確認したい場合は、次のようにします。
if ((int)$c == $c)
return $c;
. あなたの結果の版
.function pythThm($a, $b){
$a2 = pow($a, 2);
$b2 = pow($b, 2);
$c = sqrt($a2 + $b2);
return (int)$c;
}
echo pythThm(3, 4);
<?php
function pythThm($a, $b){
$a2 = pow($a, 2);
$b2 = pow($b, 2);
$c = sqrt($a2 + $b2);
return $c;
}
echo pythThm(3, 4);
//outputs nothing, should be 5
?>
. 所属していません StackOverflow