摘要訊息 : 學習 PHP 中的函式.

0. 前言

本文于 2022 年 3 月 18 日进行一次更新和修正. 修正之后本文已经归档, 不再享受更新.

1. 内置函数

PHP 提供了很多内置函数, 即不需要去写即可使用, 这里举几个比较常用的 :

  • rand : 在两个数之间产生随机数 (rand(1000, 9999) : 在 1000 到 9999 中产生一个随机数);
  • ceil : 向上取整函数 (ceil(1.2), 最后结果为 2);
  • intval : 取整形函数(intval(1.2), 最后结果为 1; intval("a123"), 最后结果为 0);
  • array : 构造数组函数;
  • sort : 数组排序函数;
  • unset : 回收变量函数;
  • isset : 判断变量是否为空;
  • explode : 拆分字符串为数组;
  • print_r : 输出数组;
  • preg_match_all : 正则匹配函数;
  • strlen : 字符串长度计算;
  • count : 数组长度计算.

上面的函数只是常用函数, 但是常用函数不限于这些, 不常用的函数也有很多, 具体可以查阅 PHP 官方文档.

2. 自定义函数

function 函数名(参数 1, 参数 2, ..., 参数 n) {
    statement
}

3. 返回参数的自定义函数

function 函数名(参数 1, 参数 2, ..., 参数 n) {
    statement
    return 返回值;
}

调用完毕的时候, 函数会返回一个参数值. PHP 支持函数最后返回数组.

4. 向函数传递引用参数

只要在参数名前面加上 "&" 符号, 当参数的值在函数内发生变化的时候, 在函数外, 这个参数的值也会发生变化

<?php
    $a = 0;
    function change_a(&$a) {
        $a = 2;
    }
    change_a($a);
    echo $a;    // 结果 : 2
?>

5. 对函数的引用

对于函数的引用, 实际上就是引用函数的返回值 :

<?php
    function &exp($a = 0) {
        return $a;
    }
    $b = &exp(1);
    echo $b;    // 结果 : 1
?>

6. 取消对函数的引用

可以直接通过 unset 函数来取消引用, 只会销毁引用变量, 不会销毁函数或者原变量.

7. requireinclude

很多人在写代码的时候, 都会习惯分开写, 也就是主函数一个文件, 函数一个文件, 类一个文件. 当要去引用其中某一个函数或者类的时候, 就需要包含那个文件. 这里就用到了 require 或者 include 语句. require 通常在文件的开头或者结尾处使用; include 通常在流程控制处理区使用.

func.php :

<?php
    function show() {
        echo "Hello, PHP!";
    }
?>

main.php :

<?php
    require "func.php";
    show();    // 结果 : Hello, PHP!
?>

8. require_onceinclude_once

在多次包含的时候, 通常会造成重复赋值或者函数重复定义的问题, 那么这个时候, 就应该讲包含的语句写成 require_once 或者 include_once. 文件包含语句的格式可以是 :

  • require("...");
  • require "...";
  • require_once("...");
  • require_once("...");
  • include("...");
  • include "...";
  • include_once("...");
  • include_once "...";