PHP用户定义函数详细讲解

JSON 2024-03-11 16:28:51 308

描述

在所有编程和脚本语言中,函数是可以在程序中重复使用的语句块。在 PHP 中,函数的概念与另一种语言(如“C”)中的概念相同。标准 PHP 发行版中有 1,000 多个内置函数。除此之外,我们还可以根据需要定义函数。这些称为“用户定义函数”。

句法:

function function-name()
 {
    statement 1 :
    statement 2 :
    statement 3 :
     ......
 }

函数的元素

function:函数声明以特殊单词“function”开头。

函数名称:

函数名称由用户定义。

有效的函数名称以字母或下划线开头,后跟任意数量的字母、数字或下划线。

请记住,函数名称不区分大小写。

左花括号和右花括号 ({ } )

函数体括在一对大括号内,其中可能包含变量名称和实际的函数代码。左大括号( { )指示函数代码的开始,右大括号( } )指示函数的终止。

示例:PHP 函数

<?php
function myfunction()
{
echo "Good Morning";
}
myfunction();
?>

当我们调用上面的函数时,它会打印 Good Morning

示例:函数内的函数

";
}
}
function1();
function2();
?>

在上面的示例中,声明了一个函数 function1(),并在 function1() 内声明了另一个函数 function2()。现在先执行 function1(),然后执行 function2(),打印“Good Morning”,执行 function1() 可以访问 funtion2()。因此,我们不能在不调用 function1() 的情况下独立调用 function2()。

PHP 函数参数、返回值

函数参数

在 PHP 中,信息通过参数列表传递给函数,参数列表是逗号分隔的表达式列表。可以通过三种不同的方式将参数传递给函数:按值传递参数(默认)、按引用传递和默认参数值。

按值传递参数

参数可以是任何有效的表达式。计算表达式并将其值分配给函数中适当的变量。在下面的函数中,$a 被赋值为 10,$b 被赋值为 20:function add($a, $b){...}add(10, 20);

通过引用传递参数

默认情况下,函数参数按值传递。如果要允许函数更改其参数,则必须通过引用传递参数。要将参数作为引用传递给函数,只需在变量名称前添加一个与号 (&) 字符即可。

<?php
function cube(&$x)
{
$x = $x * $x * $x;
}
$result = 5;
cube($result);
echo $result;
?>

输出:

125

默认参数值

在以下示例中,函数wage() 使用默认参数。当我们调用不带参数的函数时,它将默认值作为参数。

" ;
}
wage(200);
wage();
wage(100);
?>

输出:

The wage is : 200
  The wage is : 100
  The wage is : 100 

PHP:返回值

在 PHP 中,值由 return 语句返回。返回值必须在变量中指定。如果在函数内调用该语句,则该函数将立即终止并将控制权传递回调用它的前一个位置。

return 语句可以返回任何类型的数据。

例子:

在以下示例中,函数接受一个数字并使用 return 语句计算该数字的立方。

";
echo "The cube of 9 is : ".cube(9)."
"; echo "The cube of 20 is : ".cube(20)."
"; ?>

输出:

The cube of 4 is : 64
  The cube of 9 is : 729
  The cube of 20 is : 8000


版权所属:SO JSON在线解析

原文地址:https://www.sojson.com/blog/508.html

转载时必须以链接形式注明原始出处及本声明。

本文主题:
PHP

如果本文对你有帮助,那么请你赞助我,让我更有激情的写下去,帮助更多的人。

相关文章
Python print() 函数
JSON.stringify 函数 (JavaScript)讲解
Python print() 函数
Maven的Mirror和Repository 的详细讲解
Linux 安装 Redis 详细步骤讲解
document.domain解决跨域问题,详细讲解
TCP 和 UDP协议详细讲解,优缺点分析讲解
Freemarker Macro,Freemarker 宏参数传递详细讲解
Golang 常见设计模式——装饰模式详细讲解
js解密常用的函数有哪些
最新文章
文件上传漏洞与防御 4058
前端构建工具选型指南:Webpack、Vite、Rollup、esbuild 深度对比 1444
物联网时代2026年时序数据库选型指南 1151
SaaS行业面临AI挑战:从“无限复用”到“灵活适应” 1269
神经网络:从构造到模型训练全链路解析 1168
一文吃透 Redis 核心存储结构:ziplist、listpack 与哈希表扩容 / 并发查询 1593
Linux sudo提权完整指南:从基础用法到生产级安全配置 691
XSS 和 CSRF 的本质区别及开发防御全解析 772
JVM垃圾回收(GC)全维度解析:从原理到调优实战 813
Linux动静态库与ELF加载全解析:从实操制作到底层原理 912
最热文章
免费天气API,天气JSON API,不限次数获取十五天的天气预报 783114
最新MyEclipse8.5注册码,有效期到2020年 (已经更新) 711464
苹果电脑Mac怎么恢复出厂系统?苹果系统怎么重装系统? 679993
Jackson 时间格式化,时间注解 @JsonFormat 用法、时差问题说明 562673
我为什么要选择RabbitMQ ,RabbitMQ简介,各种MQ选型对比 512621
Elasticsearch教程(四) elasticsearch head 插件安装和使用 484794
Jackson 美化输出JSON,优雅的输出JSON数据,格式化输出JSON数据... ... 302947
Java 信任所有SSL证书,HTTPS请求抛错,忽略证书请求完美解决 247433
Elasticsearch教程(一),全程直播(小白级别) 233097
谈谈斐讯路由器劫持,你用斐讯路由器,你需要知道的事情 228329
支付扫码

所有赞助/开支都讲公开明细,用于网站维护:赞助名单查看

查看我的收藏

正在加载... ...