PHP
函数
一、函数介绍
1、函数判断
# 直接判断不存在的变量,会报错
if($ouyangke){
echo '欧阳克';
}
# 使用isset函数判断
if(isset($ouyangke)){
echo '欧阳克';
}
# 使用empty函数判断
if(empty($ouyangke)){
echo '欧阳克';
}
2、什么是函数
- 函数是一段可以重复执行的代码片断
- 函数是实现代码复用的重要手段
- 函数是现代编程语言最重要的基本单元
- 函数永远是编程的核心工作
3、函数的分类
- 根据函数的提供者(编写者),分为二类
- 系统函数: 编程语言开发者事先写好提供给开发者直接使用的
- 自定义函数: 用户根据自身需求,对系统功能进行扩展
二、系统函数
- PHP 的真正力量来自它的函数:它拥有超过 1000 个内建的函数。
函数集合名 | 描述 |
---|---|
String | 字符串处理函数 |
Array | 数组函数允许您访问和操作数组 |
MySQLi | 允许您访问 MySQL 数据库服务器 |
Date | 服务器上获取日期和时间 |
Filesystem | 允许您访问和操作文件系统 |
Mail | 数学函数能处理 integer 和 float 范围内的值 |
HTTP | 允许您在其他输出被发送之前,对由 Web 服务器发送到浏览器的信息进行操作 |
Calendar | 日历扩展包含了简化不同日历格式间转换的函数 |
Directory | 允许您获得关于目录及其内容的信息 |
Error | 允许您对错误进行处理和记录 |
Filter | 进行验证和过滤 |
FTP | 通过文件传输协议 (FTP) 提供对文件服务器的客户端访问 |
MySQL | 允许您访问 MySQL 数据库服务器 |
SimpleXML | 允许您把 XML 转换为对象 |
XML | 允许我们解析 XML 文档,但无法对其进行验证 |
Zip | 压缩文件函数允许我们读取压缩文件 |
String
字符串函数
1、函数 | 描述 |
---|---|
strtolower() | 将字符串转化为小写 |
strtoupper() | 将字符串转化为大写 |
strlen() | 获取字符串长度 |
trim() | 去除字符串首尾处的空白字符(或者其他字符) |
ltrim() | 去除字符串开头的空白字符(或者其他字符) |
rtrim() | 去除字符串结尾的空白字符(或者其他字符) |
str_replace() | 字符串替换 |
strpbrk() | 字符串中查找一组字符是否存在 |
explode() | 将字符串分割为数组 |
md5() | 将字符串进行 md5 加密 |
// 将字符串转化为小写
$ouyang = 'OUYANGKE';
echo strtolower($ouyang);
echo '<hr>';
// 将字符串转化为大写
$miejue = 'miejueshitai';
echo strtoupper($miejue);
echo '<hr>';
// 将字符串分割为数组
$php = '欧阳克,灭绝师太,西门大官人,天蓬';
print_r ( explode(',',$php) );
echo '<hr>';
// 将字符串进行md5加密
$ximen = '西门大官人';
echo md5($ximen);
Array
数组函数
2、函数 | 描述 |
---|---|
count() | 数组中元素的数量 |
implode() | 把数组元素组合为字符串 |
array_merge() | 两个数组合并为一个数组 |
in_array() | 数组中是否存在指定的值 |
sort() | 对数值数组进行升序排序 |
rsort() | 对数值数组进行降序排序 |
array_unique() | 移除数组中的重复的值 |
array_push() | 将一个或多个元素插入数组的末尾 |
array_pop() | 删除数组中的最后一个元素 |
$arr = [
'欧阳克',
'灭绝师太',
'西门大官人',
'天蓬'
];
// 数组中元素的数量
echo count($arr);
echo '<hr>';
// 把数组元素组合为字符串
echo implode(',',$arr);
echo '<hr>';
// 数组中是否存在指定的值
echo in_array('天蓬',$arr);
echo '<hr>';
// 删除数组中的最后一个元素
array_pop($arr);
print_r($arr);
官网手册:https://www.php.net/manual/zh/book.array.php
三、自定义函数
1、函数的基本语法
// 创建函数
function fun_name(参数列表)
{
//函数体: 由一条或多条语句组成,可以为空
}
- 必须使用关键字:
function
声明 - 函数名称不区分大小写,多个单词推荐使用下划线连接
2、调用函数
// 创建函数
function fun_name()
{
return '我是:欧阳克';
}
// 调用函数
echo fun_name();
3、函数参数
// 创建函数
function fun_name($name)
{
return '我是:' . $name;
}
// 调用函数
echo fun_name('欧阳克');
- 方法参数可以有默认值,有默认值可以不传值
- 方法必须以返回的方式,不要用
echo
输出的方式
// 创建函数
function fun_name($name,$school='PHP中文网')
{
return '我是:' . $name . ',我来至:' . $school;
}
// 调用函数
echo fun_name('欧阳克','过去的世界');
4、作用域
- php 中, 只有函数作用域和全局作用域
- 所有函数作用域中的变量,外部不可见
- 全局作用域声明变量,在函数中是可见的
$name = '灭绝师太';
$school = 'PHP中文网';
// 创建函数
function fun_name()
{
global $name;
global $school;
return '我是:' . $name . ',我来至:' . $school;
}
// 调用函数
echo fun_name();
PHP8
新特性:命名参数
5、PHP7
function jisuan($a,$b=0,$c=0,$d=0){
echo $a;
echo '<hr/>';
echo $b;
echo '<hr/>';
echo $c;
echo '<hr/>';
echo $d;
echo '<hr/>';
}
jisuan(10,20,30,40);
PHP8
function jisuan($a,$b=0,$c=0,$d=0){
echo $a;
echo '<hr/>';
echo $b;
echo '<hr/>';
echo $c;
echo '<hr/>';
echo $d;
echo '<hr/>';
}
jisuan(10,20,d:30,c:40);