PHP函数

定义和调用函数:

概念:将一些重复使用到的功能写在一个独立的代码块中,在需要时单独调用(封装方法)。
语法格式:
    function fun_name($str1,$stgr2…$strn){
    fun_body;
    }
参数说明:
function:为声明自定义函数时必须使用到的关键字。
fun_name:为自定义函数的名称。
$str1…$strn:为函数的参数。
fun_body:为自定义函数的主体,是功能实现部分。
调用函数:当函数被定义好后,所要做的就是调用这个函数。调用函数的操作十分简单,只需要引用函数名并赋予正确的参数即可完成函数的调用。
<?php
   function multiply($num=100){
   return "$num * $num = ".$num * $num;
   }
   echo multiply(10);
?>

函数间传递参数:

      在调用函数时,需要向函数传递参数,被传入的参数称为实参,而函数定义的参数为形参。参数传递的方式有按值传递按引用传递默认参数3种。
      1.按值传递方式:将实参的值复制到对应的形参中,在函数内部的操作针对形参进行,操作的结果不会影响到实参,即函数返回后,实参的值不会改变。function metric( $m ){                                //定义一个函数
      $m = $m * 5 + 10;
      echo "在函数内:\$m = ".$m;              //输出形参的值
}
$m = 1;
metric( $m ) ;                                              //传值:将$m的值传递给形参$m
echo "<p>在函数外:\$m = $m<p>" ;      //实参的值没有发生变化,输出m=1
      2.按引用传递方式:按引用传递就是将实参的内存地址传递到形参中。这时,在函数内部的所有操作都会影响到实参的值,返回后,实参的值会发生变化。引用传递方式就是传值时在原基础上加&号即可。
     3.默认参数:还有一种设置参数的方式,即可选参数。可以指定某个参数为可选参数,将可选参数放在参数列表末尾,并且指定其默认值为空。
<?php
       function tax($price, $tax=""){
           $price=$price + ($price * $tax);
           echo "价格: $price<br>";
       }
       tax(100,0.25);        //为可选参数赋值0.25
       tax(100);              //没有给可选参数赋值
?>

从函数中返回值:

       通常,函数将返回值传递给调用者的方式是使用关键字return。return将函数的值返回给函数的调用者,将程序控制权返回到调用者的作用域。return语句只能返回一个参数,也即只能返回一个值,不能一次返回多个。如果要返回多个结果,就要在函数中定义一个数组,将返回值存储在数组中返回。

变量函数:

      php支持变量函数的概念。这意味着如果一个变量名后有圆括号,php 将寻找与变量的值同名的函数,并且将尝试执行它。除了别的事情以外,这个可以被用于实现回调函数,函数表等等。变量函数不能用于语言结构,例如 echo(),print(),unset(),isset(),empty(),include(),require() 以及类似的语句。需要使用自己的外壳(包装)函数来将这些结构用作变量函数。     
      function bar($arg = ''){
          echo "In bar(); argument was '$arg'./n";
      }     
     $func = 'bar';
     $func('test');

对函数的引用:

引用不仅可用于普通变量、函数参数,也可作用于函数本身。
       function &plus(){                //别忘了加“&”   
            static $num =0;            //定义一个静态的变量'$num'  
           $num++;   
           return $num;
      }
      $n  = plus();
      echo $n.'<br>';              //这一行输出结果是1
      echo plus().'<br>';         //这一行输出结果是2
      $n  = &plus();
      echo $n.'<br>';             //这一行输出结果是3
      $n  = 6;
      echo plus().'<br>';         //这一行输出结果是7

取消引用:

       当不再需要引用时,可以取消引用。取消引用使用unset()函数,它只是断开了变量名和变量内容之间的绑定,而不是销毁变量内容。
  取消引用后对原变量没有任何影响。     
  $num = 1234;           //声明一个整型变量       
  $math = &$num;      //声明一个对变量$num的引用$math       
  echo "\$math is:  ".$math."<br>";     //输出引用$math      
  unset($math);                                   //取消引用$math       
  echo "\$math is: ".$math."<br>";     //再次输出引用       
  echo "\$num is:  ".$num;                 //输出原变量

书写规范:

关键字,小括号,函数,运算符
不要把小括号和关键字紧贴在一起,要用空格隔开它们。如:
if ($expr){         //if和“(”之间有一个空格

} 运算符与两边的变量或表达式要有一个空格。
while ($boo == true){        //$boo和“==”,true和“==”之间都有一个空格

}
当代码段较大时,上、下应当加入空白行,两个代码块之间只使用一个空行

方法中的参数命名
使用驼峰命名法,也可使用下划线命名法
如以下代码:
class EchoAnyWord{
function echoWord($firstWord,$secondWord){

}
}

全局常量
常量/全局常量,应该全部使用大写字母,单词之间用'_'来分隔,使大小写敏感。如:
define('DEFAULT_NUM_AVE', 90);
define('DEFAULT_NUM_SUM', 500);

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 函数的定义 函数是什么? 函数(function)是一段完成指定任务的已命名代码块。函数可以遵照给它的一组值或参数...
    dptms阅读 1,068评论 0 2
  • 函数是可以在程序中重复使用的语句块,在页面加载时函数不会立即执行,只有在被调用时才会执行。 在代码执行过程中,如果...
    THEyAnJ阅读 380评论 0 0
  • 一、函数概念 函数是用来完成某种特定任务的可重复使用的代码块; 函数可以使程序更具模块化,拥有良好的结构; 函数定...
    XZ阳光小熊阅读 846评论 0 0
  • 风过无痕 夜清如水 轻噙一指夜色的微凉 向你望去 你如一缕绚丽的霓光 在红尘里 一抹忧郁,种在心里 你还是原谅的样...
    四夕清荷阅读 283评论 0 0
  • 周末,无意间看到一期节目“演员的诞生”,无论是其豪华的导师阵容,参与演员的网络热度,还是录制现场突发事件的争议性,...
    Jason叶阅读 297评论 2 6