经常会用到一些数据验证效验的东西,有些结果是“真是没想到”,总结记录下
浮点数
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"
标签:常用,false,dump,0.0,float,bool,效验,php,true From: https://www.cnblogs.com/caroline2016/p/17671819.html