php常用数据效验及处理
经常会用到一些数据验证效验的东西,有些结果是“真是没想到”,总结记录下
浮点数
var_dump((float)'', (float)'dd4.5', (float)'4.5dd', (float) '4.5'); float(0) float(0) float(4.5) float(4.5) var_dump((float)'5.80', (float)5.800, floatval('5.800'), floatval(5.800)); float(5.8) float(5.8) float(5.8) float(5.8) var_dump(is_float('dd4.5'), is_float('4.5dd'), is_float('4.5'), is_float(4.5), is_float(4)); bool(false) bool(false) bool(false) bool(true) bool(false)
数值型
var_dump(is_numeric('dd4.5'), is_numeric('4.5dd'), is_numeric('4.5'), is_numeric(4.5), is_numeric(4), is_numeric('')); bool(false) bool(false) bool(true) bool(true) bool(true) bool(false)
布尔型
var_dump((bool)0, (bool)0.0, (bool)'0', (bool)'0.0', (bool)'0.00', (bool)' ', (bool)''); bool(false) bool(false) bool(false) bool(true) bool(true) bool(true) bool(false)
empty()
var_dump(empty(0), empty(0.0), empty('0'), empty('0.0'), empty('0.00'), empty(' '), empty('')); bool(true) bool(true) bool(true) bool(false) bool(false) bool(false) bool(true)
explode()
var_dump(explode('*', '1*3'), explode('*', '3*'), explode('*', '3')); 结果 array(2) { [0]=> string(1) "1" [1]=> string(1) "3" } array(2) { [0]=> string(1) "3" [1]=> string(0) "" } array(1) { [0]=> string(1) "3" }
==和===
这里面比较神奇的是偶然发现的 0==‘a’居然为true
var_dump("0" != "a", 0 != "a", "0" !== "a", 0 !== "a"); bool(true) bool(false) bool(true) bool(true) var_dump(0 == 0.00, 0 === 0.00, 0.0 == '0.0', 0.0 == ' ', 0 == '-0.000', 0.0 === ' ', 0.0 === '0.0'); bool(true) bool(false) bool(true) bool(true) bool(true) bool(false) bool(false)
min和max比较
var_dump(max(1, null), max(0, null), max(0.0, null), max(0.01, null), max(-0.01, null)); int(1) int(0) float(0) float(0.01) float(-0.01) var_dump(min(1, null), min(0, null), min(0.0, null), min(0.01, null), min(-0.01, null)); NULL int(0) float(0) NULL NULL
去掉全角/半角空格
$str = 'sdf dfd s ss h中文h'; var_dump(preg_replace(['/\s/', '/[\x{3000}]/u'], '', $str)); string(17) "sdfdfdsssh中文h"
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix