「PHP系列」PHP 函数详解
文章目录
- 一、PHP 函数
- 1. 字符串处理函数
- 2. 数组处理函数
- 3. 文件处理函数
- 4. 数据库处理函数
- 二、创建函数
- 三、函数添加参数
- 四、函数返回值
- 五、变量函数
- 六、函数表
- 七、相关链接
一、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 数据库一起使用,通过扩展如 mysqli 或 PDO 来实现。以下是一个使用 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"]. "
"; } } 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() 使用用户自定义的比较函数对数组进行排序。 七、相关链接
- php官网
- php_Github
- PHP实现Token
- 「PHP系列」PHP简介与起步
- 「PHP系列」PHP语法介绍
- 「PHP系列」PHP变量
- 「PHP系列」PHP echo/print语句、数据类型详解
- 「PHP系列」PHP 常量/字符串、类型比较
- 「PHP系列」PHP 运算符详解
- 「PHP系列」If…Else语句/switch语句
- 「PHP系列」数组详解
- 「PHP系列」PHP数组排序及运用场景