<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 这部分代码和文章内容无关,仅作示例展示</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"这是与文章内容无关的前置代码。"</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
<h2>如何使用is_real函数判断POST提交的数据中哪些是浮点类型?</h2>
<p>在PHP中,处理用户通过POST方式提交的数据时,常常需要判断某个值是否为浮点数(即实数)。PHP原生没有名为<code>is_real
这个函数先用 is_numeric() 判断是不是数字,再用正则表达式严格匹配浮点格式(可带负号、小数点)。
<?php
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$_SERVER</span></span><span>[</span><span><span class="hljs-string">'REQUEST_METHOD'</span></span><span>] === </span><span><span class="hljs-string">'POST'</span></span><span>) {
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$_POST</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$key</span></span><span> => </span><span><span class="hljs-variable">$value</span></span><span>) {
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">is_real</span></span><span>(</span><span><span class="hljs-variable">$value</span></span><span>)) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"字段 '<span class="hljs-subst">{$key}</span></span></span><span>' 是浮点数,值为:</span><span><span class="hljs-subst">{$value}</span></span><span> <br>";
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"字段 '<span class="hljs-subst">{$key}</span></span></span><span>' 不是浮点数,值为:</span><span><span class="hljs-subst">{$value}</span></span><span> <br>";
}
}
}
</span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">is_real</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$value</span></span></span><span>) {
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-title function_ invoke__">is_numeric</span></span><span>(</span><span><span class="hljs-variable">$value</span></span><span>) && </span><span><span class="hljs-title function_ invoke__">preg_match</span></span><span>(</span><span><span class="hljs-string">'/^-?\d+(\.\d+)?$/'</span></span><span>, </span><span><span class="hljs-variable">$value</span></span><span>);
}
?>
尽管PHP没有名为 is_real() 的函数,我们可以自定义函数通过结合 is_numeric() 和正则表达式,准确判断POST提交数据中哪些是浮点数。这种方式能帮助我们更好地处理和验证用户输入,确保数据正确性。