zoukankan      html  css  js  c++  java
  • 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:不管包含多少次,都只会执行一次,通常用于包含有函数、或者常量等不能重复定义的文件
  • 相关阅读:
    hdu 4710 Balls Rearrangement()
    hdu 4707 Pet(DFS水过)
    hdu 4706 Children's Day(模拟)
    hdu 4712 Hamming Distance(随机函数暴力)
    csu 1305 Substring (后缀数组)
    csu 1306 Manor(优先队列)
    csu 1312 榜单(模拟题)
    csu 1303 Decimal (数论题)
    网络爬虫
    Python处理微信利器——itchat
  • 原文地址:https://www.cnblogs.com/hoewang/p/10257261.html
Copyright © 2011-2022 走看看