我需要驗證輸入到由PHP生成的表單中的測量結果。使用PHP驗證測量結果
我打算將它們與控制上限和下限進行比較,並決定它們是否失敗或通過。
作爲第一步,我想象一個PHP函數,它接受代表工程測量的字符串,並在比較之前將它們轉換爲純數字。
目前我只期待小的電壓和電流的測量,所以串像
'1.234uA', '2.34 NA','39 .9mV」。或 '-1.003e-12'
將被轉換爲
1.234E-6,2.34E-9,3.99e-2和-1.003e-12,分別。
但是該方法應該可推廣到任何測量的數量。
是的,謝謝Zeroshade。關聯數組當然清楚了單位前綴和指數之間的關係,但是下面代碼的複雜性增加可能會帶來成本。 我認爲我的實際實施包括一個額外的preg_replace刪除空間,使像1.23 uA這樣的字符串變成1.23e-6 它似乎工作正常,但我真的很喜歡你的關聯數組的可讀性。 – pavium 2009-08-20 10:38:20
謝謝。正則表達式本身是唯一大大增加的複雜性。 preg_replace將比preg_match更昂貴。再說一次,如果你想要提高速度和性能,你爲什麼要用php? = P除非你一次轉換大量的這些數據(如果你從我懷疑的表單獲得輸入),複雜性的成本可能可以忽略不計。 – Zeroshade 2009-08-20 13:20:17
對速度和性能沒有太大的擔心:我只是驗證了10位操作員輸入表單的測量結果,他們並不一定知道皮安和微伏之間的差異。 我提到的成本是在我的頭部圍繞着你的正則表達式時,我不得不忍受的增加的心理活動。但我喜歡學習新事物。感謝您的建議。 – pavium 2009-08-21 06:10:35