博客列表 >PHP之初识函数

PHP之初识函数

肖傲的博客
肖傲的博客原创
2020年07月08日 23:15:58732浏览

1、php函数

1.1函数的声明

  1. //函数声明语法:
  2. // function 函数名称的标识符(参数列表){
  3. // 函数体
  4. // }

1.2函数的命名

函数命名规范:

  • 函数名应该代表其功能
  • 函数的名称应该以字母或者下划线开头且不能用数字开头
    1. function show(){}
    2. function _show(){}

1.3函数的调用

  1. < ?php
  2. // 定义函数
  3. function show() {
  4. echo '学习不刻苦,不如卖红薯!';
  5. }
  6. // 调用
  7. show();
  8. ?>

2、函数的类型

2.1自定义函数

用户自己定义的函数

  1. <?php
  2. // 定义函数
  3. function write_msg() {
  4. echo 'hello PHP!';
  5. }
  6. write_msg(); //调用函数
  7. ?>

2.2系统定义函数

  1. <?php
  2. // 返回不同数的反余弦
  3. echo (acos(0.5) .'<br>');
  4. //返回不同数的绝对值:
  5. echo (abs(5.5) .'<br>');
  6. //返回随机整数。
  7. echo (rand() .'<br>');
  8. ?>

2.3可变函数

  1. <?php
  2. function show($argc) {
  3. echo $argc, '<br>';
  4. }
  5. // 将函数名保存到变量中
  6. $str='show';
  7. $str('学习不刻苦,不如卖红薯!');
  8. ?>

2.4匿名函数

匿名函数就是没有名字的函数也叫具名函数和闭包。

  1. <?php
  2. //将一个没有函数名的函数赋值给一个变量
  3. $show=function () {
  4. echo '学习不刻苦,不如卖红薯!';
  5. };
  6. $show();
  7. ?>

3、函数的返回值

函数必须要有返回值,且只能返回单一的值,可以通过以下方法返回函数值:

3.1通过字符串拼装

  1. <?php
  2. function demo1(): string
  3. {
  4. $color = '红色';
  5. $fruit = 'apple';
  6. return $color . $fruit;
  7. }
  8. echo demo1();
  9. ?>

3.2通过数组返回

  1. <?php
  2. function demo1(): array
  3. {
  4. $color = '红色';
  5. $fruit = 'apple';
  6. return ['color'=>$color ,'fruit'=>$fruit];
  7. }
  8. print_r(demo1());
  9. ?>

3.3通过json返回字符串

  1. <?php
  2. function demo1(): string
  3. {
  4. $color = '红色';
  5. $fruit = 'apple';
  6. return json_encode(['color'=>$color ,'fruit'=>$fruit]);
  7. }
  8. echo demo1();
  9. print_r(json_decode( demo1(), true));
  10. ?>

3.4:通过序列化方式返回字符串

  1. <?php
  2. function demo1(): string
  3. {
  4. $color = '红色';
  5. $fruit = 'apple';
  6. return serialize(['color'=>$color ,'fruit'=>$fruit]);
  7. }
  8. echo demo1();
  9. print_r(unserialize( demo1()));

4、函数中的参数

4.1值参数,为默认

默认情况下,参数的传递是值传递

  1. <?php
  2. // 默认参数8
  3. $num=8;
  4. function fun($args) {
  5. $args=88;
  6. }
  7. // 默认参数值传递
  8. fun($num);
  9. echo $num;

4.2引用参数

引用参数需要在前面加取地址符&

  1. <?php
  2. $num=8;
  3. // 引用参数
  4. function fun(&$args) {
  5. $args=88;
  6. }
  7. fun($num);
  8. echo $num;

4.3默认参数

  1. <?php
  2. // 有参数的必须写到没有默认参数的后面
  3. function fun($name,$age=30,$address='不确定') {
  4. echo "姓名:{$name}<br>";
  5. echo "年龄:{$age}<br>";
  6. echo "地址:{$address}<br>";
  7. echo '<hr>';
  8. }
  9. fun('老黄');

4.4剩余参数
  1. <?php
  2. // 参数前面加...
  3. function fun($name,$age,...$favorite) {
  4. echo '姓名:'.$name,'<br>';
  5. echo '年龄:'.$age,'<br>';
  6. print_r($favorite);
  7. echo '<hr>';
  8. }
  9. fun('老王',33);
  10. fun('老黄',30,'牛排','北京烤鸭','德州扒鸡');

3、回调函数

  1. <?php
  2. $arr = array(1,3,5,7,9);
  3. function fun($num)
  4. {
  5. // 数组中的每个值乘以3
  6. return($num*3);
  7. }
  8. // 将函数作用到数组中的每一个值
  9. print_r(array_map("fun",$arr));

4、函数的命名空间

  1. <?php
  2. // 命名空间
  3. namespace ns1 {
  4. function show(){
  5. echo '代码敲烂,月薪过万!';
  6. }
  7. }
  8. // 在全局中访问
  9. namespace {
  10. echo ns1\show();
  11. }


总结:了解的函数的声明和调用。也熟悉了函数类型,就是对函数的使用掌握不是熟练,特别是异步编程中的回调函数不是很明白。

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议