# 直接判断不存在的变量,会报错
if(xiaohong){
echo '小红';
}
# 使用isset函数判断
if(isset(xiaohong)){
echo '小红';
}
# 使用empty函数判断
if(empty(xiaohong)){
echo '小红';
}
函数是一段可以重复执行的代码片断
函数是实现代码复用的重要手段
函数是现代编程语言最重要的基本单元
函数永远是编程的核心工作
根据函数的提供者(编写者),分为二类
系统函数: 编程语言开发者事先写好提供给开发者直接使用的
自定义函数: 用户根据自身需求,对系统功能进行扩展
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
字符串函数函数 | 描述 |
---|---|
strtolower() | 将字符串转化为小写 |
strtoupper() | 将字符串转化为大写 |
strlen() | 获取字符串长度 |
trim() | 去除字符串首尾处的空白字符(或者其他字符) |
ltrim() | 去除字符串开头的空白字符(或者其他字符) |
rtrim() | 去除字符串结尾的空白字符(或者其他字符) |
str_replace() | 字符串替换 |
strpbrk() | 字符串中查找一组字符是否存在 |
explode() | 将字符串分割为数组 |
md5() | 将字符串进行 md5 加密 |
// 将字符串转化为小写
xiaoming = 'XIAOMING';
echo strtolower(xiaoming);
echo '<hr>';
// 将字符串转化为大写
xiaohong = 'xiaohong';
echo strtoupper(xiaohong);
echo '<hr>';
// 将字符串分割为数组
$php = '小明,小红,小刚,小王';
print_r ( explode(',',$php) );
echo '<hr>';
// 将字符串进行md5加密
$ximen = '小明';
echo md5($ximen);
Array
数组函数函数 | 描述 |
---|---|
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);
// 创建函数
function fun_name(参数列表)
{
//函数体: 由一条或多条语句组成,可以为空
}
必须使用关键字:function
声明
函数名称不区分大小写,多个单词推荐使用下划线连接
// 创建函数
function fun_name()
{
return '我是:小明';
}
// 调用函数
echo fun_name();
// 创建函数
function fun_name($name)
{
return '我是:' . $name;
}
// 调用函数
echo fun_name('小明');
方法参数可以有默认值,有默认值可以不传值
方法必须以返回的方式,不要用 echo
输出的方式
// 创建函数
function fun_name($name,$school='PHP教程')
{
return '我是:' . $name . ',我来自:' . $school;
}
// 调用函数
echo fun_name('小明','火星');
PHP 中, 只有函数作用域和全局作用域
所有函数作用域中的变量,外部不可见
全局作用域声明变量,在函数中是可见的
$name = '小红';
$school = 'PHP教程';
// 创建函数
function fun_name()
{
global $name;
global $school;
return '我是:' . $name . ',我来自:' . $school;
}
// 调用函数
echo fun_name();
PHP8
新特性:命名参数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);