Blogger Information
Blog 17
fans 1
comment 0
visits 20053
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
PHP函数的类型,参数,返回值,相关示例
大A
Original
670 people have browsed it

函数的四种类型

1,自定义函数

  1. function demo1($a,$b)
  2. {
  3. return $a+$b;
  4. }
  5. echo demo1(1,2).'<hr>';

2,系统函数,系统自带的函数无需定义可以直接使用,例如:isset()函数

  1. $text='www.php.cn';
  2. if (isset($text)):
  3. echo '$text的值是'.$text.'<hr>';
  4. else:
  5. echo '$text的值是空的'.'<hr>';
  6. endif;

3,可变函数,将一个变量赋值为函数然后调用,例如:

  1. //创建一个函数demo2
  2. function demo2($a,$b)
  3. {
  4. return '当前函数是:'.__FUNCTION__.'<br>结果是:'.($a+$b);
  5. }
  6. //创建一个函数demo3
  7. function demo3($a,$b)
  8. {
  9. return '当前函数是:'.__FUNCTION__.'<br>结果是:'.$a*$b;
  10. }
  11. //将'demo2'函数赋值给$func
  12. $func='demo2';
  13. //赋值后的$func相当于'demo2'
  14. echo $func(5,6).'<hr>';
  15. //将'demo3'函数赋值给$func
  16. $func='demo3';
  17. //这时发现同样运行$func(5,6),因为$func值不同所执行的函数与结果也不同
  18. echo $func(5,6).'<hr>';

4,匿名函数,没有函数名的函数,需要赋值到变量来使用,例如:

  1. //匿名函数可以使用'use()'命令引用公共变量.
  2. $c=100;
  3. $func=function($a,$b)use($c){return $a+$b+$c;};
  4. echo $func(5,8).'<hr>';

函数多值返回的四种形式

1,字符串拼接,将多个字符串结果拼接输出

  1. function demo1($a,$b)
  2. {
  3. return $a.'|'.$b;
  4. }
  5. echo demo1('php中文网','www.php.cn').'<hr>';

2,用数组返回结果

  1. function demo2($a,$b)
  2. {
  3. //将要返回的结果装入数组中
  4. $c=['name'=>$a,'URL'=>$b];
  5. //返回数组
  6. return $c;
  7. }
  8. echo '<pre>'. print_r (demo2('php中文网','www.php.cn'),true).'<pre><hr>';

3,用json字符串的方式返回结果

  1. function demo3($a,$b)
  2. {
  3. //将要返回的结果装入数组中
  4. $c=['name'=>$a,'URL'=>$b];
  5. //返回json字符串,设置编码模式为:JSON_UNESCAPED_UNICODE
  6. return json_encode($c,JSON_UNESCAPED_UNICODE);
  7. }
  8. $result= demo3('php中文网','www.php.cn');
  9. echo $result.'<br>';
  10. //将json转为数组
  11. $arr=json_decode($result,true);
  12. //显示结果
  13. echo '<pre>'. print_r ($arr,true).'<pre><hr>';

4,用序列化字符串的方式返回

  1. function demo4($a,$b)
  2. {
  3. //将要返回的结果装入数组中
  4. $c=['name'=>$a,'URL'=>$b];
  5. //将数组转换为序列化字符串返回
  6. return serialize($c);
  7. }
  8. //运行函数
  9. $result= demo4('php中文网','www.php.cn');
  10. //显示结果
  11. echo $result.'<br>';
  12. //将序列化的结果转换为数组
  13. echo '<pre>'. print_r (unserialize($result),true).'<pre><hr>';

函数的四种参数

1,值参数

  1. function demo1($a,$b)
  2. {
  3. return $a+$b;
  4. }
  5. echo demo1(1,2).'<hr>';

2,引用参数

  1. $c=100;
  2. //将第二个参数设置成引用参数
  3. function demo2($a,&$b)
  4. {
  5. return $b+=$a;
  6. }
  7. //将$c传入到第二个参数
  8. demo2(50,$c);
  9. //显示$c的值,这时$c的值已经改变为150
  10. echo $c.'<hr>';

3,默认参数

  1. //将$c设置为默认参数初始值为100
  2. function demo3($a,$b,$c=100)
  3. {
  4. return $a+$b+$c;
  5. }
  6. //当demo3的第三个参数未设置时$c的值为100,所以结果为103
  7. echo demo3(1,2).'<br>';
  8. //也可设置默认参数的值,此时$c的值为10,所以结果为13
  9. echo demo3(1,2,10).'<hr>';

4,剩余参数

  1. //第一种方法
  2. function demo4()
  3. { //获取传入参数所组成的数组
  4. $arr=func_get_args();
  5. //遍历数组求和
  6. foreach ($arr as $key => $value) {
  7. $result+=$value;
  8. }
  9. //返回参数的总和
  10. return $result;
  11. }
  12. //demo4可以传入任意数量的参数
  13. echo demo4(1,2,3,4,5,6,7,8,9,10).'<br>';
  14. //第二种方法
  15. $arr=[1,2,3,4,5,6,7,8,9,100];
  16. //'...'将传入的参数打包成数组
  17. function demo5(...$arr)
  18. {
  19. return array_sum($arr);
  20. }
  21. //'...'可以将数组转换为普通格式
  22. echo demo5(...$arr).'<br>';
Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:案例简单直观
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!