计算机网络/计算机科学与应用/系统/运维/开发

PHP-函数

PHP函数

1、函数的命名

   以字母或下划线开头

   php中函数的作用域是全局的,在一个文件中定义后,可以在该文件的任何地方调用

   php不支持函数重载,也不可以取消定义或者重定义已声明的函数


    声明函数

   function  foo($arg_1,$arg_2)

   {

        statement( 函数体 )

   }

<?php 
 /*  
   含义:statement 陈诉
   foo表示 函数名称
   $arg_1  $arg_2 表示函数参数,可以为0个或多个  
 */ 
   
// 定义函数
function  add($num1, $num2){
    echo ($num1 + $num2);
}

// 调用函数
add(2, 3);


2、函数参数

   按值传递参数 (默认)

   引用传递参数及默认参数 也支持可变长度参数列表

   

   参数传递方式:

   php 函数参数传递3种方式:按值传递  引用传递  和默认参数

2-1、按值传递

function  test($a){
    $a = $a + 1;
    return $a;
}
$a = 1;
echo test($a); //2
echo test(2); //3
echo $a; //1


2-2、引用传递

  如果希望允许函数修改它的参数值,就必须通过引用传递参数

function  test2(&$b){
    $b = $b + 1;
    return $b;
}
$x = 1;  // 变量 传入到 test2($x) 中
echo test2($x); // 这里$b已经等于2
echo $x; // 由于是引用传递 这里$x 已经等于2


2-3、可变 参数数量

   php5.6 以后的版本中, "..." 表示函数可以接受一个可变数量的参数 可变参数将会被当做

   一个数组传递给函数


function  test4(...$num){
    $acc = 0;
    foreach($num as $key => $value){
        $acc += $value;
    }
    return $acc;
}
echo test4(1,2,3,4);//10
echo test4(1,2);//3


2-4、默认参数

  允许使用数组 arry() 和特殊类型null作为默认参数 默认值必须是常量表达式

  一般将默认参数放在参数的右侧

function test3($arr = array('lily','andy','ricky'), $str = 'apple'){
    echo "I am $arr[1], I love $str <br/>";
}
$names = ['sily','celon','tom'];
$fruit = 'orange';
test3(); //I am andy, I love apple
test3($names,$fruit); //I am celon, I love orange



人生于世,就得有点兴致,闲暇之时,或乐游山水、或尽享食味、或寄情岁时,它让我们的生活变得充盈。

评论

^