iT邦幫忙

2026 iThome 鐵人賽

DAY 4
0
自我挑戰組

Medical Data Cleaner系列 第 9 篇

使用PHP檢查數值範圍與異常值

  • 分享至 

  • xImage
  •  

前一天已經完成資料格式的檢查,今天繼續處理另一種常見的資料的問題:數值異常。
有些資料雖然格式正確但數值本身可能不合理。例如:年齡出現負數、或心跳數值明顯超出這次測試資料所設定的範圍。
一、設定數值檢查規則
這次先針對age和heart_rate進行檢查。
在這個專案中,先設定:
age:0~120
heart_rate:30~200
這些範圍是本次專案為了測試資料品質檢查功能所設定的規則,並不是醫療診斷標準。
二、使用PHP判斷數值
首先使用is_numeric()確認資料是不是數字。
如果是數字,再進一步判斷是否超出設定的範圍。
例如:

if (is_numeric($row[1])) {
    if ($row[1] < 0 || $row[1] > 120) {
        echo '數值異常:' . $row[0] . ' → age = ' . $row[1] . '<br>';
    }
}

這樣可以避免像Day 8的abc被當成數值範圍問題,而是讓它維持由格式檢查處理。
三、檢查心跳數值
接著用同樣的方法檢查heart_rate:

if (is_numeric($row[6])) {
    if ($row[6] < 30 || $row[6] > 200) {
        echo '數值異常:' . $row[0] . ' → heart_rate = ' . $row[6] . '<br>';
    }
}

四、實際檢查結果
執行程式後,成功找到兩筆異常資料:
數值異常:P007 → age = -5
數值異常:P008 → heart_rate = 999
P007 的年齡是-5,超出設定的範圍;P008 的心跳數值是 999,同樣超出了這次測試所設定的範圍。
至於P003的age=abc,這次沒有再次顯示,因為它不是數值格式的問題,而是在Day8已經被格式檢查抓出來了。


上一篇
使用PHP檢查資料格式與類型
下一篇
使用PHP檢查重複資料
系列文
Medical Data Cleaner 共 16 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言