php应用

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

原文地址:https://www.cnblogs.com/zhuiluoyu/p/7273472.html