PHP函数

黄舟
发布: 2016-12-23 09:22:10
原创
2764人浏览过

在开发过程中,经常要反复某种操作,反复输入相同的代码,这将增加代码的冗余性,后期维护起来比较麻烦,如果使用函数,那么这些问题将会迎刃而解了。

1、定义和调用函数

函数,就是将一些重复使用到的功能写在一个独立的代码块中,在需要时单独调用。创建函数基本语法是:

function fun_name($str1, $str2...$strn) {

    fun_body

立即学习PHP免费学习笔记(深入)”;

}

其中,function为声明自定义函数时必须使用到的关键字。fun_name是自定义函数的名称。$str1, $str2...$strn是函数的参数。fun_body是自定义函数的主体,是函数功能实现的代码部分。

例如下面的计算一个数的平方的函数:

<?php
    //声明自定义函数    function example($num) {
        retrun $num * $num;    //返回计算后的结果
    }    echo example(10);    //调用函数
    ?>
登录后复制

结果为:100

2、在函数间传递函数

在调用函数时,需要向函数传递参数,被传入的参数叫做实参,而函数定义的参数为形参。参数传递的方式有按值传递、按引用传递和默认参数。

2.1 按值传递

按值传递是将实参的值复制到对应的形参中,在函数内部的操作指针对形参进行操作,操作结果不会影响到实参。即函数返回后,实参的值不会改变。

例如:

怪兽AI数字人
怪兽AI数字人

数字人短视频创作,数字人直播,实时驱动数字人

怪兽AI数字人 44
查看详情 怪兽AI数字人
<?php
    //定义一个自定义函数    function sp($m) {
        $m = 100;
        //输出形参        echo $m . "/;
    }
    $m = 5;
    sp($m);    //传递值,将$m的值传递给形参$m    echo $m;  //输出实参
    ?>
登录后复制

运行结果:100/5。

2.2 按引用传递

按引用传递是将实参的内存地址传递给形参。这时,函数内部的操作都会影响到实参,函数返回后,实参的值会发生变化。引用传递就是在传值时加上&号即可。

例如:

<?php
    //定义一个自定义函数    function sp(&$m) {
         $m = 100;
         //输出形参         echo $m . "/";
    }
    $m = 5;
    sp($m);        //传递值    echo $m;      //输出实参
    ?>
登录后复制

运行结果:100/100。

2.3默认参数

默认参数就是指形参指定默认值。

例如:

<?php
    //定义一个自定义函数    function sp($m = 100)  {
        //输出形参        echo $m . "/";
    }
    sp(10);    //传值
    sp();       //未传值,输出默认值
    ?>
登录后复制

运行结果:10/100。

3、从函数中返回值

通常函数将返回值传递给调用者是使用关键字return。

return语句只能返回一个参数,也即只能返回一个值,不能一次返回多个值。如果需要返回多个值,可以使用数组,将返回值存储在数组中返回。

 以上就是PHP函数的内容,更多相关内容请关注PHP中文网(www.php.cn)! 

相关标签:
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号