php函数

函数是什么:
    函数(function)是一段完成指定任务的已命名代码块。函数可以遵照给它的一组值或参数完成特定的任务,并且可能返回一个值。(比如循环输出10行10列的表格,或者N行N列的表格)


PHP中函数分为两种:
    1、自定义函数
        (比如循环输出10行10列的表格,或者N行N列的表格)
    2、系统函数
        (比如var_dump()、round()、floor()、ceil()等等)


自定义函数
    1.自定义函数的格式
        function 函数名([参数列表])
        {
            函数体;
        }
    2.函数名的命名规则
        字母、数字、下划线,不能以数字开始;不能是关键字,不能与已存在的函数重名!
        函数名不区分大小写
    3.函数的调用
        函数名([参数列表])
        注意:函数的调用不分先后!!!!
        //小提示:在PHP中,只要以$符开始,就是变量;只要加()就是调用函数


函数的参数
    形参
        函数定义时写的参数叫形参
        形参可以有默认值,默认值必须是常量表达式,不能是诸如变量、或者函数调用等
        有默认值的形参应该写在形参列表的右边,不然形同虚设
    实参
        调用函数时传的参数叫实参
        实参的传递要与形参一一对应,个数最好是一样的,不能少(形参没有默认值的时候),也不要多


函数的返回值
    使用return语句可以让函数返回一个值
    1、没有return语句的函数,默认返回null
    2、return语句会立即终止函数的运行,函数中的后续代码不执行


function_exists检测函数是否存在


变量的作用域 —— 能够有效作用的区域
    全局变量
        1、在函数范围之外定义的变量叫全局变量(全局的按字面意思来说,到处都可以访问,比如函数内,C语或者Javascript言确实是的),但是,在PHP中,函数被看做一段独立的功能个体,它无法直接访问全局变量
        2、在函数内想要访问全局变量
            1.用关键字global将变量声明为全局的
            2.通过超全局数组$GLOBALS['变量名']取下标的方式访问
                这是一个特殊的变量,会在脚本运行时自动创建
    局部变量
        1、在函数内部定义的变量叫局部变量,该变量仅在当前函数的作用域内有效,函数调用完毕立即释放
        2、在全局范围内访问局部变量
            1.将局部的用global变为全局的(要在变量定义之前声明)
            2.将变量当做返回值return出去
        3、形参也是局部变量


静态变量
    用关键字static声明静态变量
    特性:静态变量只会声明一次,不会重复声明


想了解任何一个函数都需要从3个方面去分析:
    功能 参数 返回值
    我们写函数的时候对这3个部分也要描述清楚,怎么描述呢,注释:
    参数
        1、常规参数,PHP八大类型
        2、伪类型参数  (语言参考-》类型-》本文档中使用的伪类型与变量)
            mixed    说明一个参数可以接受多种不同的(但不一定是所有的)类型。
                如:var_dump()
                    print_r()
            number   说明一个参数可以是 integer 或者 float。
                如:pow() 求次方数 
            callable 表示该参数需要传一个函数,还有个别名callback
                如:call_user_func()
                    session_set_save_handler()
            void 作为返回类型意味着函数的返回值是无用的;作为参数列表意味着函数不接受任何参数。
                如:unset()     不能有返回值
                    time()      不接受参数
            $... 表示一个函数可以接受任意个参数
                如:var_dump();
    
    (要求:自定义一个函数,将任意个参数相加并返回结果)


    可变个数的参数列表
        func_get_args()  //返回一个数组,包含所有参数
        func_num_args()  //返回参数总数 
        func_get_arg(int)    //接收一个数字参数,返回指定参数,从0开始数


函数参数的传递
    1.值传递(常用)
    2.引用传递
        通过引用传递的参数,函数可以修改其参数的值(语言参考-》引用的解释-》引用传递)


        注意:如果形参用'&$a'引用传递,调用函数时必须传变量,不能直接传值


函数的种类:
    可变函数
        如果一个变量名后有圆括号,PHP 将寻找与变量的值同名的函数,并且尝试执行它


    回调函数
        被当做参数传递的函数,叫回调函数
        专门用来调用回调函数的函数:
            call_user_func('函数名'[, 参数1, 参数2...])


    匿名函数:
        没有名字的函数;
        通常作为回调函数传递


    递归函数:
        就是自己调用自己的函数


文件的包含:
    可以使用自定义函数库,并且可以更好的实现代码重用!
    include
        include '文件路径';
        include('文件路径');
    require
        require '文件路径';
        require('文件路径');
    区别:如果包含的文件不存在,include报warning警告级别的错误,后续代码继续执行;require报一个fatal error致命错误,后续代码不执行


    include_once
    require_once
        用法同上面的include 和require ,区别也同上
    
    include和include_once的区别
        include:包含一次就执行一次;
        include_once:不管包含多少次,都只会执行一次,通常用于包含有函数、或者常量等不能重复定义的文件
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值