教程 > PHP教程 > PHP 函数 阅读:26

PHP 函数初识

函数是什么


不仅仅在PHP中有函数的概念,在很多其他的语言中都有函数。各个语言中函数的定义语法可能不同,但是函数的意义都是一样的。

所谓函数,其实就是一段可以重复使用多次的代码。

在数学中也有函数的概念,挪用一个高中数学老师的话:

函数是一种对应关系,是一种映射,可以一一对应,也可以多一对应,但是不能一对多。你可以把它理解成一个程序,给一个输入,得到一个输出 我晕,我还想拿程序中的函数概念去在数学中找解释去呢,这是不是反了。

不管这么多,总之都是一个意思,至于数学中怎么定义,这里也不是我们关心的重点。下面我们进入本章的重点,PHP函数

PHP 函数

PHP 的真正威力源自于它的函数。在 PHP 中,提供了超过 1000 个内建的函数。

PHP函数的优点

  • 代码重用性:PHP函数只定义一次,可以多次调用,就像其他编程语言一样。
  • 使用更少的代码: 它节省了大量代码,因为我们不需要多次重写逻辑。 通过使用函数,可以只写一次逻辑并重用它。
  • 易于理解: PHP函数分离了编程逻辑。 因此,更容易理解应用程序的流程,因为每个逻辑都被划分为函数的形式。

PHP 函数的定义

我们可以很容易地声明和调用用户定义的函数。

语法

function functionName($param1,$param2,...,$paramn)
{
    // 函数体
    return 返回值;
}

说明

函数的语法格式说明如下:

  • 每个函数的第一行都是函数头,由声明函数的关键字 function、函数名和参数列表三部分组成,其中每一部分完成特定的功能;
  • 每个自定义函数都必须使用 function 关键字声明;
  • 函数名可以代表整个函数,可以将函数命名为任何名称,只要遵循变量名的命名规则即可。每个函数都有唯一的名称,但需要注意的是,在 PHP 中不能使用函数重载,所以不能定义重名的函数,也包括不能和系统函数同名;
  • 声明函数时函数名后面的小括号“()”也是必须有的,在小括号中包含了一组可以接受的参数列表,参数就是声明的变量,然后在调用函数时可以将变量传递给函数。参数列表可以为空,也可以有一个或多个参数,多个参数之间使用逗号分隔;
  • 关键字“function”与函数名之间需要使用空格分隔开,而函数名与包裹参数列表的小括号之间不需要使用空格分隔,当然加上空格也不会出错;
  • 函数体位于函数头后面,需要使用大括号“{}”包裹起来。函数的所用工作都是在函数体中完成的。函数被调用后,首先执行函数体中的第一条语句,执行到 return 语句或最外面的大括号“}”后结束,返回到调用函数的地方。函数体中* 可以使用任何有效的 PHP 代码,甚至是其他的函数或类的定义也可以在函数体中声明;
  • 使用关键字 return 可以从函数中返回一个值或者表达式,程序执行到 return 语句时,该表达式将被计算,然后返回到调用函数的地方继续执行。

示例 #1

一个简单的函数,在其被调用时能输出我的名称:

<?php
function writeName()
{
    echo "Kai Jim Refsnes";
}
 
echo "My name is ";
writeName();
?>

输出:

My name is Kai Jim Refsnes

示例 #2

给函数添加参数,给函数传入一个参数,作为名字。但是姓是相同的

<?php
function writeName($fname)
{
    echo $fname . " Refsnes.<br>";
}
 
echo "My name is ";
writeName("Kai Jim");
echo "My sister's name is ";
writeName("Hege");
echo "My brother's name is ";
writeName("Stale");
?>

输出:

My name is Kai Jim Refsnes.
My sister's name is Hege Refsnes.
My brother's name is Stale Refsnes.

示例 #3

下面的函数有两个参数:

<?php
function writeName($fname,$punctuation)
{
    echo $fname . " Refsnes" . $punctuation . "<br>";
}
 
echo "My name is ";
writeName("Kai Jim",".");
echo "My sister's name is ";
writeName("Hege","!");
echo "My brother's name is ";
writeName("Ståle","?");
?>

输出:

My name is Kai Jim Refsnes.
My sister's name is Hege Refsnes!
My brother's name is Ståle Refsnes?

示例 #4

如需让函数返回一个值,请使用 return 语句。

<?php
function add($x,$y)
{
    $total=$x+$y;
    return $total;
}
 
echo "1 + 16 = " . add(1,16);
?>

输出:

1 + 16 = 17

查看笔记

扫码一下
查看教程更方便