我需要验证输入到由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