zoukankan      html  css  js  c++  java
  • 【辅导】Task07 掌握PHP函数编写 主要知识点

    1、函数的定义

     

    与Java相比,除了在语法上有些区别以外(弱类型),其它没有什么区别。

    函数的返回值类型由return语句的表达式确定。

    【思考1】如果函数内没有return语句,或者有一条没有表达式的return语句,那么函数的返回值是什么?

     

    【思考2】函数的定义放在什么位置?

    (1) 如果与调用函数的语句在一个文件中,放在这个文件中的任意位置都可以,保持结构完整和独立就可以。

    (2)如果函数单独放在独立的php文件中,需要在使用函数前使用require或include语句把这个文件包含进来。

    require functionfile.php;

    【思考3】理解什么是形参,什么是实参?

     

    形参必然是变量,是该函数的局部变量。实参可以是表达式,也可以是变量,但有时必须是变量(当函数参数定义为变量的引用时)。在函数调用时,会进行由实参的数据类型向形参的数据类型转换的过程(即数据类型以形参为准)

    2、函数的默认参数

    PHP不支持函数的重载(函数名相同但参数不同)

    默认参数,就是当函数调用时,如果不给参数赋值,用程序员定义的默认值代替。(相当于函数重载时,参数的个数不同了)

    默认参数,只能自右向左依次定义为默认参数。

     

    3、函数的变长参数

    变长参数,就是用数组变量(形参)来接受不确定个数的参数列表(实参)。

     

    变长参数必须是最右边的参数。

    ...运算符,除了在用于定义变长参数为,还可以用来将数组转换为列表:

    $nums = array(10,20,30,40,50);

    echo sum(...$nums);

    4、函数的引用参数

    同C、Java一样,调用函数时,形参获得实参的一个拷贝,是独立的存储空间(栈中分配)。不同的是,PHP中,不管是基本类型(标量类型)还是字符串、数组、类对象,都是拷贝。

    要使形参和实参(必须是变量)共用存储空间,参数必须定义为引用

     

    5、可变函数和匿名函数

    函数也是一种类型(复合类型callable)。另两种复合类型是array和object。

    因此可以将函数名(字符串)赋值给变量,通过变量来调用函数。

     

    如果是给变量赋值或作为另一函数实参时,临时使用的函数,这个临时定义时,可以不给函数起名字,称为匿名函数。

     

    6、变量的作用域

    在程序中(函数外)定义的变量,虽然是全局变量,但函数内部还不能使用,必须先用global关键字声明。如$int1。或者使用$GLOBALS数组

    也可以在函数内部定义全局变量。如$int2。

     

    函数内定义的静态变量(static),意见同C、Java一样,初始化值赋值后,再次调用该函数时不再初始化,保持上一次调用时该变量的值。

     

    7、文件包含

    一个php文件中,要引入另一个php文件的代码,可以用下面语句中的一个来将另一个php文件包含进来。所以,我们常将函数库或类代码放在独立的php文件中,需要的时候包含进来。

     

    8、常用数学函数

    请注意熟悉如round,ceil,floor等取整函数,max,min等统计函数,进制转换函数,sin,cos,exp等数值计算函数,M_PI,M_E等预定义常量的使用

    PHP 5 Math函数请参阅:

    http://www.runoob.com/php/php-ref-math.html

    9、常用日期函数

    PHP没有日期/时间函数,使用Unix时间戳(1970-1-1 00:00:00以来的秒数)来记录时间。所以使用整数来表示时间。

    要正确设置php的时区。

    $time0 = 1583889120;

    $time1 = mktime(9,30,0,3,11,2020);

    $time2 = time()+24*60*60;

    $time3 = strtotime("+1 days",time());

    输出日期时间时,用date函数进行格式化。常用Y-m-d H:i:s

    echo date("Y-m-d H:i:s",$time2);

    格式字符串参见:http://php.net/manual/zh/function.date.php

  • 相关阅读:
    Hanoi塔
    采药
    进制转换(大数)
    Load Balancing with NGINX 负载均衡算法
    upstream模块实现反向代理的功能
    epoll
    在nginx启动后,如果我们要操作nginx,要怎么做呢 别增加无谓的上下文切换 异步非阻塞的方式来处理请求 worker的个数为cpu的核数 红黑树
    粘性会话 session affinity sticky session requests from the same client to be passed to the same server in a group of servers
    负载均衡 4层协议 7层协议
    A Secure Cookie Protocol 安全cookie协议 配置服务器Cookie
  • 原文地址:https://www.cnblogs.com/whitewin/p/12515908.html
Copyright © 2011-2022 走看看