• Welcome to Journal web site.

我是 PHP 程序员

- 开发无止境 -

Next
Prev

PHP 函数

Data: 2019-12-01 03:01:57Form: JournalClick: 9

# 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压缩文件函数允许我们读取压缩文件

# 1、String 字符串函数

函数描述
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);

# 2、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);

官网手册: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();

# 5、PHP8 新特性:命名参数

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);
Name:
<提交>