PHP 是一种流行的服务器端脚本语言,它提供了大量的内置函数,用于执行各种任务,如字符串操作、文件处理、数据库连接等。
除了之前提到的 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!
除了 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.
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():之前已经介绍过,它们分别用于读取和写入文件内容。
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() | 使用用户自定义的比较函数对数组进行排序。 |