【发布时间】:2019-02-28 14:03:14
【问题描述】:
我用 PHP 制作了一台 ATM 机,但我使用了 4 个 for 循环。我只想使用一个循环和一个数组。这是我的代码:
private function Atm() {
$nAmount = $_POST['txtATM'];
$nFifty = 0;
for ($V=0; $V < $nAmount; $V+=50) {
$nFifty++;
}
if ($V > $nAmount) {
$V-=50;
$nFifty-=1;
}
$nTwenty = 0;
for ($T=$V; $T < $nAmount; $T+=20) {
$nTwenty++;
}
if ($T > $nAmount) {
$T-=20;
$nTwenty-=1;
}
$nTen = 0;
for ($t=$T; $t < $nAmount; $t+=10) {
$nTen++;
}
if ($t > $nAmount) {
$t -= 10;
$nTen-=1;
}
$nFive = 0;
for ($v=$t; $v < $nAmount; $v+=5) {
$nFive++;
}
if ($v > $nAmount) {
$v-=5;
$nFive-=1;
}
echo "You will get: ";
echo "$nFifty times fifty, $nTwenty times twenty, $nTen times ten and $nFive times five. ";
}
谁能帮我找到一个解决方案,用一个循环和一个数组重写这段代码?
【问题讨论】:
-
这不是 SO 的工作方式。请使用tour 并阅读How to Ask 指南。
-
和是 11 发生了什么? (不除以 5?)
-
私有函数 check() { if (isset($_POST['btnATM'])) { $nAmount = $_POST['txtATM']; if ($nAmount 500) { echo "limit is 500"; }else { 返回 $this->Atm(); } } }