1. php判断是否为数字
is_numeric() 这个函数就是检测参数是否为数字,如果是就返回true,如果不是就返回false
is_numeric( 'abcd123' ) or die('提供的参数不是数字');
使用正则表达式匹配,匹配成功就是数字,返回true,匹配不成功就不是数字,返回false
preg_match('/^d+$/i', 'abcd123') or die('提供的数据不是数字');
2.递归去除字符串的第一个字符
/** * 递归去除字符串的第一个字符,生成"分词"切片 * @param $str 要"分词"拆分的字符串 * @param int $length 支持搜索的"尾号"长度 * @param array $slice 返回的"分词"数组 * @return array */ private function _subToSlice($str, $length = 4, $slice = array()) { $str = strval($str); $slice[] = $str; if (strlen($str) > $length) { $str = substr($str, 1); return $this->_subToSlice($str, $length, $slice); } return $slice; }
3. PHP数字价格格式化,保留两位小数
使用方法为number_format(12,2),如果需要四舍五入,可以使用round函数配合。
语法: string number_format(float number, int [decimals], string [dec_point], string [thousands_sep]);
本函式用来将浮点参数 number 格式化。
若没加参数 decimals 则传回的字串只要整数部份,加了此参数才依参数指定的小数点位数传回。
参 数 dec_point 表示小数点的表示方式方法,内定值是 ”.”,若需要转换成其它的小数点就可以在这个参数改掉。
参 数 thousands_sep 为整数部份每三位的分隔符号,内定值是 ”,”。如果没什么特殊要求,又要进行运算的话最好设置为空。
本函式最特别的地方就是参数数目,最少要有一个,也就是欲格式化的字 串;也可以有二个或者四个参数,但不能用三个参数。
值得注意的是指定小数点的位数之后的数字直接舍弃,没有四舍五入的情形
<?php echo number_format("1000000"); echo number_format("1000000",2); echo number_format("1000000",2,",","."); echo number_format("1000000",2,"*","."); echo number_format("1000000",2,".",""); ?>
输出:
1,000,000
1,000,000.00
1.000.000,00
1.000.000*00
1000000.00