「PHP系列」PHP 函数详解

一、PHP 函数

PHP 是一种流行的服务器端脚本语言,它提供了大量的内置函数,用于执行各种任务,如字符串操作、文件处理、数据库连接等。

1. 字符串处理函数

除了之前提到的 strlen()substr(),还有一些其他常用的字符串处理函数:

strtolower() 和 strtoupper():用于将字符串转换为小写或大写。

$str = "Hello, World!";
$lower = strtolower($str);
$upper = strtoupper($str);
echo $lower;  // 输出:hello, world!
echo $upper;  // 输出:HELLO, WORLD!

str_replace():用于替换字符串中的某些字符或子串。

$str = "Hello, World!";
$newStr = str_replace("World", "PHP", $str);
echo $newStr;  // 输出:Hello, PHP!

trim():用于去除字符串两端的空格或其他字符。

$str = "   Hello, World!   ";
$trimmedStr = trim($str);
echo $trimmedStr;  // 输出:Hello, World!

2. 数组处理函数

除了 array_push()array_sum(),PHP 还提供了许多其他数组处理函数:

count():用于计算数组中的元素个数。

$fruits = array("apple", "banana", "orange");
$count = count($fruits);
echo $count;  // 输出:3

array_merge():用于合并一个或多个数组。

$array1 = array("apple", "banana");
$array2 = array("orange", "kiwi");
$mergedArray = array_merge($array1, $array2);
print_r($mergedArray);  // 输出:Array ( [0] => apple [1] => banana [2] => orange [3] => kiwi )

in_array():用于检查数组中是否存在某个值。

$fruits = array("apple", "banana", "orange");
if (in_array("banana", $fruits)) {
    echo "Banana exists in the array.";
} else {
    echo "Banana does not exist in the array.";
}  // 输出:Banana exists in the array.

3. 文件处理函数

PHP 提供了许多用于文件操作的函数,如:

fopen()、fclose():用于打开和关闭文件。

$file = fopen("example.txt", "r");
if ($file) {
    // 读取文件内容等操作...
    fclose($file);
} else {
    echo "无法打开文件";
}

file_exists():用于检查文件或目录是否存在。

if (file_exists("example.txt")) {
    echo "文件存在";
} else {
    echo "文件不存在";
}

file_get_contents() 和 file_put_contents():之前已经介绍过,它们分别用于读取和写入文件内容。

4. 数据库处理函数

PHP 通常与 MySQL 数据库一起使用,通过扩展如 mysqliPDO 来实现。以下是一个使用 mysqli 扩展的简单示例:

// 创建数据库连接
$conn = mysqli_connect("localhost", "username", "password", "database_name");

// 检查连接
if (!$conn) {
    die("连接失败: " . mysqli_connect_error());
}

// 执行查询
$sql = "SELECT * FROM users";
$result = mysqli_query($conn, $sql);

// 处理结果集
if (mysqli_num_rows($result) > 0) {
    while($row = mysqli_fetch_assoc($result)) {
        echo "id: " . $row["id"]. " - Name: " . $row["name"]. "<br>";
    }
} else {
    echo "0 结果";
}

// 关闭连接
mysqli_close($conn);

二、创建函数

在 PHP 中,你可以使用 function 关键字来创建自定义函数。函数的基本语法如下:

function functionName() {
    // 函数体,即要执行的代码
}

例如,创建一个简单的函数,用于输出一条消息:

function greet() {
    echo "Hello, World!";
}

// 调用函数
greet(); // 输出: Hello, World!

三、函数添加参数

函数可以接受参数,这些参数在函数被调用时传递,并在函数体内使用。参数位于函数名后的括号中,用逗号分隔。

function greet($name) {
    echo "Hello, " . $name . "!";
}

// 调用函数并传递参数
greet("PHP Developer"); // 输出: Hello, PHP Developer!

在这个例子中,greet 函数接受一个参数 $name,并在函数体内使用它来构造输出消息。

四、函数返回值

函数可以通过 return 语句返回一个值。返回的值可以是任何数据类型,包括字符串、整数、数组或对象。

function add($a, $b) {
    $sum = $a + $b;
    return $sum;
}

// 调用函数并获取返回值
$result = add(5, 3);
echo $result; // 输出: 8

在这个例子中,add 函数接受两个参数 $a$b,计算它们的和,并通过 return 语句返回结果。

五、变量函数

变量函数是指函数的名称存储在一个变量中,然后通过这个变量来调用相应的函数。这在动态调用函数时特别有用。

function apple() {
    echo "I am an apple.";
}

function banana() {
    echo "I am a banana.";
}

$fruit = 'apple';
$fruit(); // 输出: I am an apple.

$fruit = 'banana';
$fruit(); // 输出: I am a banana.

在这个例子中,$fruit 变量存储了函数名,然后直接通过 $fruit() 来调用相应的函数。需要注意的是,变量函数仅对已经定义过的函数有效,否则会引发错误。

六、函数表

函数描述
array()创建数组。
array_change_key_case()返回其键均为大写或小写的数组。
array_chunk()把一个数组分割为新的数组块。
array_column()返回输入数组中某个单一列的值。
array_combine()通过合并两个数组(一个为键名数组,一个为键值数组)来创建一个新数组。
array_count_values()用于统计数组中所有值出现的次数。
array_diff()比较数组,返回两个数组的差集(只比较键值)。
array_diff_assoc()比较数组,返回两个数组的差集(比较键名和键值)。
array_diff_key()比较数组,返回两个数组的差集(只比较键名)。
array_diff_uassoc()比较数组,返回两个数组的差集(比较键名和键值,使用用户自定义的键名比较函数)
array_diff_ukey()比较数组,返回两个数组的差集(只比较键名,使用用户自定义的键名比较函数)
array_fill()用给定的键值填充数组。
array_fill_keys()用给定的指定键名的键值填充数组。
array_filter()用回调函数过滤数组中的元素。
array_flip()反转/交换数组中的键名和对应关联的键值。
array_intersect()比较数组,返回两个数组的交集(只比较键值)。
array_intersect_assoc()比较数组,返回两个数组的交集(比较键名和键值)。
array_intersect_key()比较数组,返回两个数组的交集(只比较键名)。
array_intersect_uassoc()比较数组,返回两个数组的交集(比较键名和键值,使用用户自定义的键名比较函数)。
array_intersect_ukey()比较数组,返回两个数组的交集(只比较键名,使用用户自定义的键名比较函数)。
array_key_exists()检查指定的键名是否存在于数组中。
array_key_first()获取指定数组的第一个键值。
array_key_last()获取指定数组的最后一个键值。
array_keys()返回数组中所有的键名。
array_map()将用户自定义函数作用到给定数组的每个值上,返回新的值。
array_merge()把一个或多个数组合并为一个数组。
array_merge_recursive()递归地把一个或多个数组合并为一个数组。
array_multisort()对多个数组或多维数组进行排序。
array_pad()将指定数量的带有指定值的元素插入到数组中。
array_pop()删除数组中的最后一个元素(出栈)。
array_product()计算数组中所有值的乘积。
array_push()将一个或多个元素插入数组的末尾(入栈)。
array_rand()从数组中随机选出一个或多个元素,返回键名。
array_reduce()通过使用用户自定义函数,迭代地将数组简化为一个字符串,并返回。
array_replace()使用后面数组的值替换第一个数组的值。
array_replace_recursive()递归地使用后面数组的值替换第一个数组的值。
array_reverse()将原数组中的元素顺序翻转,创建新的数组并返回。
array_search()在数组中搜索给定的值,如果成功则返回相应的键名。
array_shift()删除数组中的第一个元素,并返回被删除元素的值。
array_slice()返回数组中的选定部分。
array_splice()把数组中的指定元素去掉并用其它值取代。
array_sum()返回数组中所有值的和。
array_udiff()比较数组,返回两个数组的差集(只比较键值,使用一个用户自定义的键名比较函数)。
array_udiff_assoc()比较数组,返回两个数组的差集(比较键名和键值,使用内建函数比较键名,使用用户自定义函数比较键值)。
array_udiff_uassoc()比较数组,返回两个数组的差集(比较键名和键值,使用两个用户自定义的键名比较函数)。
array_uintersect()比较数组,返回两个数组的交集(只比较键值,使用一个用户自定义的键名比较函数)。
array_uintersect_assoc()比较数组,返回两个数组的交集(比较键名和键值,使用内建函数比较键名,使用用户自定义函数比较键值)。
array_uintersect_uassoc()比较数组,返回两个数组的交集(比较键名和键值,使用两个用户自定义的键名比较函数)。
array_unique()删除数组中重复的值。
array_unshift()在数组开头插入一个或多个元素。
array_values()返回数组中所有的值。
array_walk()对数组中的每个成员应用用户函数。
array_walk_recursive()对数组中的每个成员递归地应用用户函数。
arsort()对关联数组按照键值进行降序排序。
asort()对关联数组按照键值进行升序排序。
compact()创建一个包含变量名和它们的值的数组。
count()返回数组中元素的数目。
current()返回数组中的当前元素。
each()返回数组中当前的键/值对。
end()将数组的内部指针指向最后一个元素。
extract()从数组中将变量导入到当前的符号表。
in_array()检查数组中是否存在指定的值。
key()从关联数组中取得键名。
krsort()对关联数组按照键名降序排序。
ksort()对关联数组按照键名升序排序。
list()把数组中的值赋给一些数组变量。
natcasesort()用"自然排序"算法对数组进行不区分大小写字母的排序。
natsort()用"自然排序"算法对数组排序。
next()将数组中的内部指针向后移动一位。
pos()current()的别名。
prev()将数组的内部指针倒回一位。
range()创建一个包含指定范围的元素的数组。
reset()将数组的内部指针指向第一个元素。
rsort()对数值数组进行降序排序。
shuffle()把数组中的元素按随机顺序重新排列。
sizeof()count() 的别名。
sort()对数值数组进行升序排序。
uasort()使用用户自定义的比较函数对数组中的键值进行排序。
uksort()使用用户自定义的比较函数对数组中的键名进行排序。
usort()使用用户自定义的比较函数对数组进行排序。

七、相关链接

  1. php官网
  2. php_Github
  3. PHP实现Token
  4. 「PHP系列」PHP简介与起步
  5. 「PHP系列」PHP语法介绍
  6. 「PHP系列」PHP变量
  7. 「PHP系列」PHP echo/print语句、数据类型详解
  8. 「PHP系列」PHP 常量/字符串、类型比较
  9. 「PHP系列」PHP 运算符详解
  10. 「PHP系列」If…Else语句/switch语句
  11. 「PHP系列」数组详解
  12. 「PHP系列」PHP数组排序及运用场景
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

·零落·

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值