php函数相关笔记

一、函数的可变参数列表相关知识:

1.实现方式一(php5.5及更早):

func_num_args()  //获取当前函数传进的参数个数总和

func_get_arg($num)  //获取当前参数的值,$num为当前函数中第几个参数

2.实现方式二(php5.6及更晚):

function sum(...$nums){

     $sum = 0;

    if(!$nums){

        return $sum;

    }else{

        foreach($nums as $num){

            $sum += $num;

        }

        return $sum;

    }

}

(注:调用该函数,输出的sum则为传入的实参的值相加总和)


二、函数的引用传递相关知识:

function cs(&$a,&$b){

    $num = $a;

    $a = $b;

    $b = $num;

}

$a = 2;

$b = 6;

cs($a,$b);

echo $a,$b;

则运行后输出的变量a与变量b的值对换(注:函数形参前‘&’符号)


三、函数的变量作用域相关知识:

1.全局变量:

$g_name = 'LIN';

  //将变量g_name全局化

function show_name(){

    //方式一(用global):

    global $g_name; 

    echo $g_name;

    //方式二(用$GLOBALS):

    echo $GLOBALS['g_name'];

}

show_name()

(注:方式一和方式二区别在于,global只是取用值,函数执行中不会更改外部变量的值;而$GLOBALS在函数中修改变量值,外部的变量值也会跟着被修改)

2.静态变量(static):

/*php中的变量作用范围的另一个重要特性就是静态变量(static 变量)。静态变量仅在局部函数域中存在且只被初始化一次,当程序执行离开此作用域时,其值不会消失,会使用上次执行的结果。*/

function test_static(){

    static $a = 0;

    echo $a++

}

test_static();

test_static();

(注:第二次输出值则为1,static会保存上次执行之后的结果)

你可能感兴趣的:(php函数相关笔记)