PHP基础(4)

目录

[一、PHP 创建用户定义函数](#一、PHP 创建用户定义函数)

二、数组

数组的排序函数


一、PHP 创建用户定义函数

用户定义的函数声明以单词 "function" 开头:

PHP自定义函数是指用户自行定义的函数,以满足自己的编程需求。在PHP中,可以通过以下语法来定义一个自定义函数:

复制代码
function function_name(参数列表) {
    // 函数体
    return 返回值;
}

其中,function_name是函数名,参数列表是函数接收的参数,函数体是要执行的代码,返回值是函数的返回结果。

例如,下面是一个简单的自定义函数,用于计算两个数的和:

复制代码
function add($a, $b) {
    $sum = $a + $b;
    return $sum;
}

// 调用自定义函数
$result = add(2, 3);
echo $result;  // 输出5

在定义自定义函数时,可以根据需要设置参数的默认值、使用可变参数等。例如:

复制代码
function say_hello($name = 'world') {
    echo "Hello, $name!";
}

say_hello();  // 输出Hello, world!
say_hello('PHP');  // 输出Hello, PHP!

function sum(...$numbers) {
    $total = 0;
    foreach ($numbers as $number) {
        $total += $number;
    }
    return $total;
}

echo sum(1, 2, 3, 4, 5);  // 输出15

以上就是PHP自定义函数的基本用法。通过自定义函数,我们可以将重复使用的代码封装起来,提高代码的复用性和可维护性。

二、数组

PHP数组是一种特殊的变量类型,用来存储多个值。它可以存储不同类型的值,如整数、字符串、浮点数、对象等。PHP数组有两种类型:索引数组和关联数组。

索引数组是按照数字索引顺序排列的数组。数组的第一个元素索引为0,第二个元素索引为1,以此类推。

关联数组是由字符串索引对应的健值对构成的数组。健值对包括一个键和一个值,键是字符串,值可以是任意类型。可以使用键来访问关联数组中的值。

以下是PHP数组的示例:

复制代码
$indexArray = array("apple", "banana", "orange");
$assocArray = array("fruit1" => "apple", "fruit2" => "banana", "fruit3" => "orange");

在这个示例中,indexArray是一个索引数组,包含3个元素。assocArray是一个关联数组,包含3个键值对。

数组的排序函数

例子:

php 复制代码
$fruits = array("apple", "banana", "orange", "kiwi");
sort($fruits);
print_r($fruits);

输出:

复制代码
Array
(
    [0] => apple
    [1] => banana
    [2] => kiwi
    [3] => orange
)
  • PHP数组的排序函数有以下几种:

  • sort() - 对数组进行升序排列

  • rsort() - 对数组进行降序排列

  • asort() - 对数组进行升序排列,并保留键值关系

  • arsort() - 对数组进行降序排列,并保留键值关系

  • ksort() - 对数组按键名进行升序排列

  • krsort() - 对数组按键名进行降序排列

  • usort() - 使用自定义函数对数组进行排序

  • uasort() - 使用自定义函数对数组进行排序,并保留键值关系

  • uksort() - 使用自定义函数对数组按键名进行排序

相关推荐
沐知全栈开发13 分钟前
MongoDB 创建数据库
开发语言
ErizJ32 分钟前
Golang | 迭代器模式
开发语言·golang·迭代器模式
牙痛不能吃糖,哭35 分钟前
C++面试复习日记(8)2025.4.25,malloc,free和new,delete的区别
开发语言·c++
健康的猪39 分钟前
golang的cgo的一点小心得
开发语言·后端·golang
夜夜敲码1 小时前
C语言教程(十六): C 语言字符串详解
c语言·开发语言
宋康1 小时前
C语言结构体和union内存对齐
c语言·开发语言
居然是阿宋1 小时前
Kotlin高阶函数 vs Lambda表达式:关键区别与协作关系
android·开发语言·kotlin
Cao1234567893212 小时前
简易学生成绩管理系统(C语言)
c语言·开发语言
The Future is mine2 小时前
C# new Bitmap(32043, 32043, PixelFormat.Format32bppArgb)报错:参数无效,如何将图像分块化处理?
开发语言·c#
亿坊电商2 小时前
PHP框架在微服务迁移中能发挥什么作用?
开发语言·微服务·php