我想制作可以像pow()一样工作的功能,但我没有成功。 这是我的代码:
function ipow($rishe,$tavan){
if (is_numeric($rishe) & is_numeric($tavan)) {
for ($i=1; $i <= $tavan ; $i++) {
$hesab = 1;
$hesab *= $rishe;
return $hesab;
}
} else {
$invalid_rishe = gettype($rishe);
$invalid_tavan = gettype($tavan);
echo "This function gives 2 numeric prameter.";
}
}
echo ipow(2,3);
echo ipow(2,3);
有人帮助我制作像pow()这样的功能吗?
答案 0 :(得分:0)
你非常接近,你需要从for循环中取出2行,如下所示:
您的代码片段
for ($i=1; $i <= $tavan ; $i++) {
$hesab = 1;
$hesab *= $rishe;
return $hesab;
}
首先,return
语句在第一次执行时停止执行,实际上仅在乘法时执行一次。你也希望在循环之外初始化$hesab = 1
,因为它会在每次循环迭代时重新初始化。
应该是这样的
$hesab = 1;
for ($i=1; $i <= $tavan ; $i++) {
$hesab *= $rishe;
}
return $hesab;