A+

简单介绍一下php自定义函数的运用

2019年03月22日 程序设计 12条评论 460次浏览

什么是自定义函数

要了解这个问题,先要知道什么是函数,函数是一门语言可以做某件事情的程序,也可以叫方法。

一个较大的程序一般应分为若干个程序块,每一个模块用来实现一个特定的功能。再程序设计中,常将一些常用的功能模块编写成函数,放在函数库中给程序员选用。只有善于利用这些函数,才能更加便捷的去做你想做的事。

但是在日常运用中并不是所有的功能都可以通过公共函数去实现目标,这个时候我们就能运用到自定义函数。所谓自定义函数就是你要实现一个功能的过程中,常用函数库里给不了你一个具体的方法去定义这条路,这时候就需要你自己去定义。

在PHP中有超过1000多个内置函数,比如我们常用的date()日期函数:

  1. <!DOCTYPE html>
  2. <html>
  3. <body>
  4. <?php
  5. echo "今天是 " . date("Y/m/d") . "<br>";
  6. echo "今天是 " . date("Y.m.d") . "<br>";
  7. echo "今天是 " . date("Y-m-d") . "<br>";
  8. echo "今天是 " . date("l");
  9. ?>
  10. </body>
  11. </html>

date()就是PHP语言中内置的一个日期函数,但往往一门语言中内置函数都是有限的,在这种情况下,都是要靠自己去定义函数去弥补你程序的构建。

自定义函数的用法

function从英文的单词理解就是、功能、函数的意思,但在php中可以用它来自己定义一个函数,比如:

  1. <?php
  2. function a(){
  3.     $a = 5;
  4.     $b = 8;
  5.     return $a + $b;
  6. }
  7. echo a();
  8. ?>

以上就是一个简单的自定义函数,它能告诉我们变量$a和变量$b相加的返回值是多少,最后用echo输出这个值。

我们再来看看下一段代码:

  1. <?php
  2. function a(){
  3.     $a = 5;
  4.     $b = 8;
  5.     return $a + $b;
  6. }
  7. //echo a();
  8. function b() {
  9.     $c = 7;
  10.     return a() + $c;
  11. }
  12. echo b();
  13. ?>

在得出第一个自定义函数的值之后,再用第二个自定义函数去调用第一个自定义函数的值继续相加。

在自定义函数中函数和函数之间可以相互调用,那自己能不能够调用自己呢?很显然是可以的,在编程语言中,函数自身的调用叫做递归,下面的一个实例就是递归的调用:

  1. <?php
  2. $aa = 10;
  3. function a($b)
  4. {
  5.     if ($b < 20) {
  6.         echo $b;
  7.         a($b + 1);
  8.     }
  9. }
  10. a($aa);
  11. ?>

这里要注意一下,PHP毕竟是一个脚本语言,对语言的格式没有那么严格,一般在java或者是C++中定义变量之前要先给这个变量定义一个数据类型,比如 int $aa = 10;。

说回PHP,先定义一个$aa的变量,给变量赋值10,接着创建一个自定义函数a($b),$b是这个自定义函数的参数。格式:function (参数) {条件}

在这个自定义函数里创造一个判断条件,如果$b这个参数小于20这个整数能成立就执行if里的代码。

在if里输出$b这个参数的参数值,并继续调用a($b)这个自定义函数,给$b这个参数 + 1,直到参数的值大于或等于20条件不成立并结束判断。

最后再说点什么

其实介绍的这些都挺简单的,目的就是为了更便捷的理解自定义函数是什么,当然在运用中不会这么简单,有可能要实现一个功能需要大量的代码去构建,但无论如何学好一门语言都需要从基础开始,目的就是要学会一门语言无论是内置函数还是自定义函数的运用,在运用中从简单开始一步一步慢慢的练习。我其实也是一个php的小白,写这篇文章一是为了存档,二是为了跟php初学者分享和讨论,如果有大神看到这篇文章情绕道而行!

  • 本文为原创文章,版权归所有。欢迎分享本文,转载请保留出处!
  • 给我留言

    评论列表 (有 460 次浏览 和 12 条评论)
    1. 回复 线上抢房

      看得我一脸懵逼

      • 回复 锋言锋语管理员

        @线上抢房 你的博客,我看不起!

    2. 回复 张波博客

      学习下,虽然看不懂,呵

    3. 回复 马也随笔

      生活类博客,没太关注技术类的东西,但还是可以学习下。

      • 回复 锋言锋语管理员

        @马也随笔 我也是生活类博客啊,哈哈!

        • 回复 林三

          @锋言锋语 你是生活的有点像技术的博客,哈哈!看不懂,我一般只改函数,然后原创写css~
          另外,你这个头像框还是超赞的!评论输入这里。

          • 锋言锋语管理员

            @林三 偶尔客串!

    4. 回复 简单生活

      专业?我最近在研究所谓简单的派森。。。

      • 回复 锋言锋语管理员

        @简单生活 1.定义不准,我是初学者;2.Python很好,希望你能坚持下去!

    5. 回复 Mr.Chou

      表示看不懂,哈

      • 回复 锋言锋语管理员

        @Mr.Chou 不是吧,我写得就这么让人看不懂吗?