首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP 表單接收空格分隔數字並計算總和與平均值範例

     編輯:PHP 綜合知識

前端表單 (request.php)

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>成績計算</title>
</head>
<body>
<form action="result.php" method="post">
  <label>請輸入成績(空格分隔):</label>
  <input type="text" name="grade" placeholder="例如:85 90 78 92" required>
  <input type="submit" value="開始計算">
</form>
</body>
</html>

後端處理 (result.php)

<?php
$grade = $_REQUEST['grade'] ?? '';
$arr = preg_split('/\s+/', trim($grade), -1, PREG_SPLIT_NO_EMPTY); // 正則分割,支援多空格/Tab

if (!$arr) {
    exit('未輸入有效數字');
}

$sum = array_sum($arr);
$count = count($arr);
$avg = round($sum / $count, 2);

echo "<pre>";
print_r($arr);
echo "</pre>";
echo "總和:$sum<br>";
echo "平均:$avg<br>";

關鍵函數說明

函數說明
preg_split('/\s+/', ...)以任意空白字元(空格、Tab、換行)分割,PREG_SPLIT_NO_EMPTY 過濾空元素。
array_sum()陣列所有數值相加(自動轉型字串數字)。
round($val, 2)四捨五入保留 2 位小數。

進階:輸入驗證與錯誤處理

$numbers = [];
foreach ($arr as $v) {
    if (!is_numeric($v)) {
        exit("無效輸入:'$v' 非數字");
    }
    $numbers[] = (float) $v;
}
$sum = array_sum($numbers);
$avg = round($sum / count($numbers), 2);

安全提醒

  • 使用 $_REQUEST 同時接收 GET/POST/COOKIE,建議明確用 $_POST。
  • 輸出變數到 HTML 時應用 htmlspecialchars() 防 XSS(本例僅輸出數字,風險低)。
  • 大量數字計算時注意浮點精度,金融場景請用 bcmath。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved