我正在嘗試撰寫一個 php 函式,該函式將從三個文本輸入框中找到最大數量。作業不會讓我使用 max() 函式。
這是我的php代碼。它應該給我一個最大數量的輸出。“輸入的最大數量是:”
$n1 = $_POST['n1'];
$n2 = $_POST['n2'];
$n3 = $_POST['n3'];
//process
if($n1 > $n2 and $n1 > $n3){
$n1=$max;
}
if($n2 > $n1 and $n2 > $n3){
$n2=$max;
}
if($n3 > $n1 and $n3 > $n2){
$n3=$max;
}
print "Max number entered is:" .$max;
uj5u.com熱心網友回復:
你的作業是錯誤的:$max = $n1。此外,如果您的任何輸入相同,那么您將遇到該代碼的問題。
你也可以這樣做:
print "輸入的最大數量是:" . ( $n1 > $n2 && $n1 > $n3 ? $n1 : ( $n2 > $n3 ? $n2 : $n3 ) )
一個漂亮的單線;它更干凈,但您可能會因降低可讀性而受到懲罰。
請參閱三元運算子。
uj5u.com熱心網友回復:
我建議采用這種不同的方法,這將使您的代碼更清晰,更易于維護
$numbers = [$_POST['n1'],$_POST['n1'],$_POST['n3']];
$max = 0;
foreach ($numbers as $number) {
if ($number > $max) {
$max = $number;
}
}
print "Max number entered is: " .$max;
uj5u.com熱心網友回復:
$result = array_reduce(
[ $n1, $n2, $n3 ],
fn($carry, $value) => $value > $carry ? $value : $carry,
0
);
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/454007.html
