专栏首页Lemon黄通俗易懂PHP基础【5-函数】

通俗易懂PHP基础【5-函数】

鼓励的话

向前跨一步,可能会发现一条意外的小路。生活如山路,向前跨一步,便可发现一条更好的路,使生活更充实,更有乐趣。

——松下幸之助

函数,我们在学数学学到过的,数学中的函数体现的是一种应对关系。而在PHP中,函数也叫方法或者功能,函数可以体现代码的威力。

函数是由若干条的代码语句组成,一方面可以有效组织代码,一方面也能使代码的复用性显著提高,另一方面也更能呈现代码的逻辑结构。

那么,我们有必要好好说说下函数咯。

1

函数的定义与使用

函数,本质就是一段代码块。使得代码模块化,体现一段代码能起什么作用,既能简化代码,又能高效复用。

PHP中的函数定义:

function functionName($arg_1,$arg_2,...$arg_n)
{
    code 函数要执行的代码语句;
    return 想要返回的值;
}

释义:

function:定义函数的关键字

functionName:自定义的函数名

$arg:括号内可以传入需要的参数

code:函数中的执行代码,需要用“{}”组织代码块 code

return:返回值关键字,在函数的调用处返回值

函数的调用,只需要函数名并在括号内传入必要的参数,就可以完成函数的调用。如下 一个简单的加法函数:

<?php
//定义函数 add
function add($x,$y){
return $x+$y;
}

//调用函数
echo add(12,12);//输出24
?>

运行效果:

2

函数参数的按值传递

在函数定义时,参数列表中的参数叫做形参,而在函数调用时,传入的参数叫做实参。按值传递,说的就是在函数调用的时候,只是把实参的值传入函数内,实参数并不会随传入函数发生变化而随着变化。

用实例来了解一下吧:

<?php
//定义函数
function changeValue($x){
  ++$x;
  return $x;
}

$x=2;

//调用参数
echo changeValue($x);//输出3
echo '<br/>';
echo $x;//输出2,$x虽然传入函数,但本身未发生改变,只是把值传入了函数
?>

运行结果:实参的值并未发生改变

3

函数参数的按引用传递

知道函数参数的按值传递,那么理解按引用传递就好理解了。按引用传递,说的就是在函数调用的时候,是把实参本身(值和内存空间)传入函数内,实参会随传入函数发生变化而随着变化。

使用按引用传递,只需要在函数定义时,在参数列表中,在需要引用传递的参数前加上符号"&"即可。

用上例的代码代码了解一下:

<?php
//定义函数
function changeValue(&$x){
  ++$x;
  return $x;
}

$x=2;

//调用参数
echo changeValue($x);//输出3
echo '<br/>';
echo $x;//输出3,函数传输按引用参数传递,所以$x本身也会被改变
?>

运行效果:只是在参数列表的参数前加上符号"&",就是按引用传递

4

函数的返回值

函数可以返回数值到函数调用的地方,使用关键字return,上面中的一些的例子就有使用到,这里就不再说明。

以上的函数基础知识就已经够我们能很好的使用函数,当然函数还有很多得的学的东西,留待以后,我想这样也比较好吸收。

本文分享自微信公众号 - Lemon黄(lemonhunag),作者:Lemon黄

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-09-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 基于Express的一个电影网站--Express介绍

    Express是一个基于Node.js平台的极简、灵活的Web应用开发框架,它通过了一系列强大的特性,帮助开发人员创建各种Web和移动设备应用。

    Lemon黄
  • 简明PHP进阶【7-日期和时间】

    在编码中,日期和时间的应用也是非常广泛的。在PHP中,已经提供给我们对日期和时间操作的函数,为了能更好地在以后编码中,处理日期和时间,本节我们就来介绍下PHP中...

    Lemon黄
  • 通俗易懂PHP基础【2-常量变量】

    嗯,是吧,学习是一个积累的过程,一定要戒骄戒躁,不然可是会摔跤的。原归正传,今天说说PHP基础语法中的常量和变量。

    Lemon黄
  • 图解Python 函数

    如果想要定义函数,则需要以“def 函数名():”的格式为开头编写代码。在这之下的一个模块就是一个函数的范围。Python的模块就如前文中提到的,是根据缩进的等...

    用户1260737
  • C+实现神经网络之贰—前向传播和反向传播

    前言 前一篇文章C++实现神经网络之壹—Net类的设计和神经网络的初始化中,大部分还是比较简单的。因为最重要事情就是生成各种矩阵并初始化。神经网络中的重点和核心...

    企鹅号小编
  • 学习笔记:神经元模型(2)

    Python的Numpy package中提供了exp和maximum函数,因此,可以很方便地描述上述三个函数,如下图所示。

    Lauren的FPGA
  • C++-虚函数之构造函数与析构函数分析

    假如构造函数是虚函数的话,由于对象开始还未分配内存空间,所以根本就无法找到虚函数表,从而构造函数也无法被调用.所以构造函数是不能成为虚函数.

    张诺谦
  • Java开发中存在这样的代码,反而影响整体整洁和可读性

    许多编程技术都建立在库类的基础上。库类的作者没用未卜先知的能力,不能因此责怪他们。麻烦的是库往往构造的不够好,而且往往不可能让我们修改其中的类以满足我们的需要。

    李红
  • 开工大吉:几个让你月薪3万+的excel神技能

    来源:运营圈信息流广告 职场中经常会用到哪些函数? IF函数、SUMIF函数、VLOOKUP函数、SUMPRODUCT函数...... 小编总结了8个在工作中常...

    CDA数据分析师
  • R语言中的批处理函数

    apply函数只能用于处理矩阵类型的数据,也就是说所有的数据必须是同一类型。因此要使用apply函数的话,需要将数据类型转换成矩阵类型。

    一粒沙

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动