php函数_系统函数_数学函数_时间函数

作者: 鲁智深 分类: PHP 发布时间: 2014-12-26 12:51

系统函数

函数的调用:主要调用函数名+参数 函数名(参数) 比如 var_dump();

函数名(参数1,参数2,参数3,参数4[,参数4]);中括号参数是非必须参数。

函数返回值:

①函数执行完后,返回给外面的数据,好比是函数最终处理的结果;

②我们用return $变量 来返回;

③函数不一定都有,var_dump默认 return null;

系统函数调用自定义函数

php里面,给我们提供了两个函数,我们通过他们,也可以调用函数。

1、call_user_func(“函数名”,参数1,参数2,参数3,……);

1
2
3
     echo "<br/>--------通过系统函数来调用函数----------<br/>";
     $res = call_user_func("jisuan",1,10,"+");
     var_dump($res);

写入参数的个数,取决于调用的函数,返回值是调用函数返回值

2、call_user_func_array(“函数名”,array(参数1,参数2,参数3,……));

作用相同

1
2
     $res = call_user_func_array("jisuan",array(1,10,"+"));
     var_dump($res);

3、function_exists(“函数名”);

1
2
3
4
     echo "<br/>--------判断函数是否存在----------<br/>";
     if(function_exists("jian")){
         jian();
     }

判断传入的函数是否存在,如果不存在返回false,存在返回true

4、如果自定义函数没有形参,你也能接收调用是传来的实参

func_num_args();在自定义函数使用,返回函数传入的参数个数

func_get_args();在自定义函数中使用,将所有的参数保存到一个索引数组中

func_get_arg($index);在自定义函数中使用,返回第$index个参数值

1
2
3
4
5
6
7
8
9
10
11
12
     echo "<br/>--------没有形参,你也能接收调用是传来的实参----------<br/>";
     function play1($funname){
         $argNum = func_num_args();
         var_dump($argNum);
         
         $argsGet = func_get_args();
         var_dump($argsGet);
         
         $argGet = func_get_arg(2);
         var_dump($argGet);
     }
     play1(1,2,3);

5、把相同的类似的方法进行封装,使代码更加简洁,案例如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
     echo "<br/>--------深入学习----------<br/>";
     function playVideo($video){
         echo "我正在看视频".$video;
     }
     function playAudio($audio){
         echo "我正在看听歌".$audio;
     }
     function play(){
         $args = func_get_args();
         $funname = array_shift($args);
         //var_dump($args);
         call_user_func_array($funname,$args);
     }
     play("playVideo","无法逃脱");

header()函数

header函数用于向浏览器发送一个http的header请求头,因为是请求头,在header头部允许有其他输出代码

常用方法:

1、页面跳转,在每个重定向之后,都必须加上exit使代码退出,避免发生错误后继续执行

1
2
3
     echo "<br/>----------跳转-----------<br/>";
     //header("Location:https://www.baidu.com/");
     //exit();

2、设置http的状态码

1
2
3
     echo "<br/>----------设置http状态码-----------<br/>";
     //header("HTTP/1.1 404 Not Found");
     //header("HTTP/1.1 200 OK");

3、可以设置文件的类型

1
2
         echo "<br/>----------文件的类型-----------<br/>";
         header("Content-type:text/html;charset=utf-8");

4、文件下载

1
2
3
4
5
6
     echo "<br/>----------文件下载-----------<br/>";
     $filename = "323.txt";
     header("Content-type:text/plain");
     header("Content-Disposition:attachment;filename=".$filename);
     $fp = fopen($filename,"r");
     fpasssthru($fp);//将文件内容读取并输出到缓存区

数学函数

1、取绝对值:abs($number);

返回非负数

1
2
3
     echo "<br/>---------取绝对值------<br/>";
     $num = -13.12;
     var_dump(abs($num));

2、四舍五入:round($number[,$num]);

返回浮点数,后面的$num可选择参数,用来保留的小数位

1
2
3
4
5
6
     echo "<br/>---------四舍五入------<br/>";
     $num = -13.52;
     var_dump(round($num));
     echo "<br/>---------四舍五入 留两个小数------<br/>";
     $num = -13.52;
     var_dump(round($num,1));

3、向上取整: ceil($number);

返回浮点数,把小数去掉,整数部分加1

1
2
3
     echo "<br/>---------向上取整------<br/>";
     $num = 13.52;
     var_dump(ceil($num));

4、向下取整:floor($nunber);

返回浮点数,把小数去掉,整数部分不变

1
2
3
     echo "<br/>---------向下取整------<br/>";
     $num = 13.52;
     var_dump(floor($num));

5、取平方根:sqrt($number);

返回浮点数,对数值进行开方

1
2
3
     echo "<br/>---------取平方根------<br/>";
     $num = 15;
     var_dump(sqrt($num));

6、求幂:pow(底数,指数);

返回数值型,底数的指数次方

1
2
     echo "<br/>---------求幂 2的10次方------<br/>";
     var_dump(pow(2,10));

7、取最大值:max(数值1,数值2,数值3……..);

返回数值中最大的值

1
2
     echo "<br/>---------取最大值------<br/>";
     var_dump(max(2,10,12,55,76,54,57));

8、去最小值:min(数值1,数值2,数值3……..);

返回数值中最小的值

1
2
     echo "<br/>---------取最小值------<br/>";
     var_dump(min(2,10,12,55,76,54,57));

9、获取随机数:rand(start,and);

返回start和and之间的数字

1
2
     echo "<br/>---------取随机数------<br/>";
     var_dump(rand(1,1000));

mt_rand(start.and);精度高于rand,重复率低

1
2
     echo "<br/>---------取随机数------<br/>";
     var_dump(mt_rand(1,1000));

时间函数

1、time();返回当前时间的时间戳;

时间戳:距离1970-1-1 00:00:00开始计时到当前时间的秒数

1
2
     echo "<br/>---------时间戳time()------<br/>";
     var_dump(time());

2、date(“Y-m-d H:i:s” [,时间戳]);

返回当前字符串时间表示方式

1
2
3
4
     echo "<br/>---------date()------<br/>";
     echo date("Y-m-d H:i:s");
     echo "<br/>---------date(,时间戳) ------<br/>";
     echo date("Y-m-d H:i:s",1440079479);

Y:四位数的年份

y:两位数的年份

m:两位数的月份

n:一位数表示月份

M:英文月份的前三位字符串

d:两位数的日期

j:一位数的日期

w:一个星期中的星期几

D:英文星期几的前三位字符串

N:星期中的第一天

H:小时(00-23)

h:小时(00-12)

i:分钟(00-59)

s:秒(00-59)

3、microtime();

返回当前的时间戳,但是微秒;用于测试程序的运行时间或者获取随机数

1
2
3
4
5
6
7
     echo "<br/>---------微妙时间戳microtime() ------<br/>";
     echo microtime();
     echo "<br/>---------微妙时间测时间------<br/>";
     $start = microtime();
     //中间执行程序
     $end = microtime();
     var_dump($end-$start);

4、date_default_timezone_set(时区);

临时设置当前时间,PRC中国时间。没有设置时区,默认时区根据配置文件date.timezone设置

1
2
3
     echo "<br/>---------date_defult_timezone_set(时区) ------<br/>";
     date_default_timezone_set("UTC");
     echo date("Y-m-d H:i:s");

5、date_default_timezone_get;

获取当前的时区

1
2
     echo "<br/>---------获取当前的时区 ------<br/>";
     echo date_default_timezone_get();

6、strtotime(“日期字符串”);

把时间格式转换陈成时间戳,日期字符串还可以用days,weeks,months,years

1
2
3
4
5
6
7
8
9
     echo "<br/>---------strtotime(); ------<br/>";
     $date = date("Y-m-d H:i:s",1440079479);
     echo strtotime($date);
     
     echo "<br/>---------一天前的时间戳 ------<br/>";
     echo strtotime("1 days");
     
     echo "<br/>---------2个月后的时间戳 ------<br/>";
     echo strtotime("2 months");

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注