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)

完结

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

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

相关推荐
BingoGo1 天前
2025 年 PHP 常见面试题整理以及对应答案和代码示例
后端·php
Bruce1232 天前
web专题之php代审(二)
php
侃侃_天下2 天前
最终的信号类
开发语言·c++·算法
BingoGo2 天前
PHP-FPM 深度调优指南 告别 502 错误,让你的 PHP 应用飞起来
后端·php
echoarts2 天前
Rayon Rust中的数据并行库入门教程
开发语言·其他·算法·rust
Aomnitrix2 天前
知识管理新范式——cpolar+Wiki.js打造企业级分布式知识库
开发语言·javascript·分布式
每天回答3个问题2 天前
UE5C++编译遇到MSB3073
开发语言·c++·ue5
伍哥的传说2 天前
Vite Plugin PWA – 零配置构建现代渐进式Web应用
开发语言·前端·javascript·web app·pwa·service worker·workbox
小莞尔2 天前
【51单片机】【protues仿真】 基于51单片机八路抢答器系统
c语言·开发语言·单片机·嵌入式硬件·51单片机
我是菜鸟0713号2 天前
Qt 中 OPC UA 通讯实战
开发语言·qt