zoukankan      html  css  js  c++  java
  • PHP基础之函数

    函数概念

    函数是用来完成某种特定任务的可重用代码块;

    函数可以使程序更具模块化,拥有良好的结构;

    函数定义后在程序中可以重复调用;

    函数分为内置函数和自定义函数

    考点

    变量的作用域和静态变量

    延伸1,函数的参数及参数的引用传递。

    延伸2,函数的返回值及引用返回。

    延伸3,外部文件的导入。

    延伸4,系统内置函数。

    1.变量的作用域

    变量的作用域也称变量的范围,变量的范围即它定义的上下文背景(也是它的生效范围)。大部分的PHP变量只有一个单独的范围。这个单独的范围跨度同样包含了include和require引入的文件。

    <?php 

    $c = 5;//全局变量

    function get_count()

    {

      $c;//局部变量$c=null;

      return $c;

    }

    echo $c;//5

    echo get_count();//null

    global关键字

    <?php 

    $c = 5;//全局变量

    function get_count()

    {

      global $c;//全局变量$c=5;

      $GLOBALS['c'];//超全局变量,可以直接拿来用。

      return $c;

    }

    echo $c;//5

    echo get_count();//5

    2.静态变量static

    静态变量仅在局部函数域中存在,但当程序执行离开此作用时,其值并不会消失。

    特点:1.仅初始化一次。2.初始化时需要赋值。3.每次执行函数该值会保留。4.static修饰的变量是局部的,仅在函数内部有效。5.可以记录函数的调用次数,从而可以在某些条件下终止递归。

    function myFunc()

    {

      static $a = 1;//静态变量初始化

      $a++;

      return $a;

    }

    myFunc();//2

    myFunc();//3

    延伸1,函数的参数及参数的引用传递

    默认情况下,函数参数通过值传递。

    如果希望允许函数修改它的值,必须通过引用传递参数。

    $a = 1;

    function myFun($a){//值传递

      $a = 2;

    }

    myFun($a);

    echo $a;//1

    $a = 1;

    function myFun(&$a){//引用传递

      $a = 2;

    }

    myFun($a);

    echo $a;//2

    延伸2,函数的返回值及引用返回。

    只通过使用可选的返回语句(return)返回。

    可以返回包括数组和对象的任意类型。

    返回语句中止函数执行,将控制权教会函数调用处。

    省略return,返回值为null,不可以有多个返回值。

    引用返回定义:从函数返回一个引用,必须在函数声明和指派返回值给一个变量时都使用引用运算符&。

    function &mgFUNC()

    {

      static $b = 10;

      return $b;

    $a = mgFunc();//10

    $a = &mgFunc();//引用

    $a = 100;

    echo mgFunc();//100

    延伸3,外部文件的导入。

    include/require语句包含并运行指定文件。

    如果给出路径名按照路经来找,否则从include_path中查找;如果include_path中也没有,则从调用脚本文件所在的目录和当前工作目录下寻找。

    当一个文件被包含时,其中所包含的代码继承了include所在行的变范围。

    区别

    1,加在过程中未找到文件则include结构会发出一条警告;这一点和require不同,后者会翻出一个致命错误;require在出错时产生E_COMPILE_ERROR级别的错误。换句话说将导致脚本中止而include只产生警告(E_WARNING)。

    2,require(include)/require_one(include_one)唯一区别是PHP会检查该文件是否已经被包含过,如果是则不会再次包含。

    延伸4,系统内置函数

    1.时间日期函数

    date()strtotime()mktime() ime()microtime()date_default_timezone_set().

    2.打印处理

    print()(语句)printf()print_r()echo(语句)sprintf()var_dump()var_export().

    3.序列化及反序列化函数

    serialize()unserialize()

    4.字符串处理函数

    implode()explode()join()strrev() rim()ltrim() trim()stratr() umber_format()...

    5.数组处理函数

    array_keys()array_values()array_diff()array_intersect()array_merge()array_shift()array_unshift()array_pop()array_push()sort()等

  • 相关阅读:
    忘记 mysql 数据库连接密码(解决方案)
    CVE-2020-14882&CVE-2020-14883 Weblogic未授权远程命令执行漏洞
    社会工程学之信息收集之信息收集
    8种src常用越权测试小技巧
    《数据中台-让数据用起来》思维导图(更新中)
    idea使用zsh代替系统的terminal
    mac安装oh my zsh
    mac安装homebrew
    navicat破解(亲测可用)
    docker搭建typecho博客系统,并启用https
  • 原文地址:https://www.cnblogs.com/yinfa/p/11312700.html
Copyright © 2011-2022 走看看