PHP函数

在PHP中,函数是代码块,他可以执行特定任务并返回结果。函数一般会包含:函数名、参数以及返回值等。

自定义函数

内置函数只能满足某些特定的场景,大部分时候我们会根据功能区自定义函数。

#示例

php 复制代码
<?php
    function sum($a, $b) {
        return $a + $b;
    }
    echo sum(1, 3);

执行结果

php 复制代码
4

函数名是sum,它有两个参数以及一个返回值。

可变函数

在PHP中,可变函数是值通过变量的值来动态调用函数。如果变量后面带有括号,则会去查找是否有跟变量值相同的函数名,如果有则会调用该函数。

#示例

php 复制代码
<?php
    function sum($a, $b) {
        return $a + $b;
    }

    function test($c) {
        return $c(2, 3);
    }
    echo test('sum');

执行结果

php 复制代码
5

内置函数

PHP内置了大量的函数供开发者使用,极大的方便了业务逻辑的处理。有些函数是可以直接使用的,有些则需要编译特定的PHP扩展模块才能使用。下面介绍几个内置函数。

#示例(sort() 对数组升序排序)

php 复制代码
<?php
   $a = [3, 5, 1, 4, 2];
   sort($a);
   var_dump($a);

执行结果

php 复制代码
array(5) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
  [3]=>
  int(4)
  [4]=>
  int(5)
}

#示例(array_shift()--删除数组中的第一个元素)

php 复制代码
<?php
   $a = [3, 5, 1, 4, 2];
   array_shift($a);
   var_dump($a);

执行结果

php 复制代码
array(4) {
  [0]=>
  int(5)
  [1]=>
  int(1)
  [2]=>
  int(4)
  [3]=>
  int(2)
}

匿名函数

匿名函数也叫闭包函数,允许创建一个没有指定名称的函数,最经常用作回调函数。

#示例

php 复制代码
<?php
    //定义
   $a = function () {
     echo "这里是匿名函数" . PHP_EOL;
   };
   $a();

   //往匿名函数传值
    $name = "test";
    $b = function () use ($name) {
        echo $name;
    };
    $b();

执行结果

php 复制代码
这里是匿名函数
test

匿名函数中使用外部的变量,需要使用use结构去传参。

箭头函数

箭头函数是PHP7.4的新语法,是一种更简洁的匿名函数写法。

#示例--基本用法

php 复制代码
<?php
   $b = 5;
   $sum = fn($a) => $a + $b;
   var_dump($sum(1));

其实就相当于

php 复制代码
<?php
    $sum = function ($a) use ($b) {
     return $a + $b;
   };

执行结果

php 复制代码
int(6)

完结

如果你在阅读这篇文章时有所收获,请不要忘记点赞评论加关注,你的支持是我创作的最大动力。当然,如果你在文中发现了疏漏之处,或是有着其他的见解,欢迎私信与我交流。

我是老卢,一个热爱分享、不断探索的知识旅者。

相关推荐
SoniaChen3325 分钟前
Rust基础-part2-变量和可变类型
开发语言·后端·rust
神所夸赞的夏天1 小时前
c#获取Datatable中某列最大或最小的行数据方法
开发语言·c#
h0l10w1 小时前
【Java】MongoDB
java·开发语言·mongodb
Tim_102 小时前
【算法专题训练】02、二进制
java·开发语言·算法
饶了我吧,放了我吧2 小时前
计算机网络实验——以太网安全实验
计算机网络·安全·php
EndingCoder2 小时前
排序算法与前端交互优化
开发语言·前端·javascript·算法·排序算法·交互
晓13132 小时前
JavaScript加强篇——第五章 DOM节点(加强)与BOM
java·开发语言·javascript
我是唐青枫2 小时前
C#.NET serilog 详解
开发语言·c#·.net
oioihoii3 小时前
C++11中的std::minmax与std::minmax_element:原理解析与实战
java·开发语言·c++
超龄超能程序猿3 小时前
使用 Python 对本地图片进行图像分类
开发语言·人工智能·python·机器学习·分类·数据挖掘·scipy