手记

PHP学习笔记【10】_函数

1、定义

函数,就是将一些重复使用的功能写到一个独立的代码块中,在需要时单独使用。


2、函数创建语法:


function fun_name($str1,$str2,...$strn){    fun_body}


3、传参

1>在调用函数时,需要向函数传递参数,被传入的参数为实参,函数定义的参数为形参

2>参数传递的方式有三种:

①值传递 :

将实参的值复制到形参中,在函数内部对形参进行操作,操作结果不影响实参。

123456789<?php    function add($num){        $num=$num+1;        echo "函数内部:\$num=".$num."<p>";    }    $num=1;    add($num);    echo "函数外部:\$num=".$num."<p>";?>

运行结果:

函数内部:$num=2

函数外部:$num=1

②引用传递 :

将实参的内存地址传到形参中,函数的操作结果会影响实参。传递方式是在值传递基础上加上&即可(&加在形参上)。


<?php    function add(&$num){        $num=$num+1;        echo "函数内部:\$num=".$num."<p>";    }    $num=1;    add($num);    echo "函数外部:\$num=".$num."<p>";?>

运行结果:

函数内部:$num=2

函数外部:$num=2

③默认参数:

可选参数,可以指定某个参数为可选参数,将可选参数放在参数列表末尾,并且指定其默认值为空。

注意:

1>默认参数必须放在非默认参数的右侧,否则有可能出错

2>从PHP5开始,默认值也可以通过引用传递

12345678<?php    function price($price,$tax=""){        $price=$price+($price*$tax);        echo "价格:".$price."<p>";    }    price(100,0.25);    price(100);?>

运行结果:

价格:125

价格:100


4、函数返回值

1>函数将返回值传递给函数调用者的方式是使用return()。

2>return()将函数的值返回给函数的调用者,即将程序的控制权返回到调用者的作用域。

3>如果在全局作用域内使用renturn(),将终止脚本的执行。

4>return只能返回一个参数,要返回多个值,可以将多值打包成数组返回。

1234567<?php    function add($num){        $num=$num+1;        return $num;    }    echo "返回值是:".add(10);?>

运行结果:

返回值是:11


5、变量函数

1>函数的调用是通过改变变量名来实现的,通过在变量名后面加上一对小括号,PHP将自动寻找与变量名相同的函数,并且执行它,如果找不到相对应的函数,就会报错,

2>这个技术可以用于实现回调函数和函数表等。


<?php    function come(){        echo '来了个人<p>';    }    function go($name='Jack'){        echo $name.'走了<p>'    }    function back($name){        echo $name.'回来了<p>';    }    $fun='come';    $fun();    $fun='go';    $fun("Jormin");    $fun='back';    $fun("Jormin");?>

运行结果:

来了个人

Jormin走了

Jormin回来了


6、函数引用

1>对函数的引用,就是对函数返回结果的引用

2>使用方法是在方法名字前面加上&

3>和参数传递不同,引用函数必须在定义函数和调用函数的时候,前面都加上&,用来说明返回的是一个引用


<?php    function come(){        echo '来了个人<p>';    }    function go($name='Jack'){        echo $name.'走了<p>'    }    function back($name){        echo $name.'回来了<p>';    }    $fun='come';    $fun();    $fun='go';    $fun("Jormin");    $fun='back';    $fun("Jormin");?>

运行结果:

result=原字符串

result=新字符串


7、取消引用

1>取消引用使用unset()函数。

2>unset()是断开了变量名和变量内容之间的绑定,而不是销毁变量内容。


<?php    $str1='123';    $str2=&$str1;    echo 'str2='.$str2.'<p>';    unset($str2);    echo 'str2='.$str2.'<p>';    echo 'str1='.$str1.'<p>';?>

运行结果:

str2=123

str2=

str1=123

0人推荐
随时随地看视频
慕课网APP