zoukankan      html  css  js  c++  java
  • php-函数的概念,语法,命名及参数


    1、函数的基本概念

    函数:function,是一种语法结构,将实现某一功能的代码(多行代码)封装到一个结构中,从而实现代码的重复利用

     

    2、函数的定义语法

    函数的几个关键点:

    • function关键字

    • 函数名

    • 参数(形参和实参)

    • 函数体

    • 返回值

    1、基本语法:

     1 1、函数的定义:
     2 function 函数名(参数){
     3     //函数体
     4     //返回值:return 结果
     5 }
     6 //定义函数的目的:是为了实现代码的重复利用
     7 
     8 示例:
     9 <?php
    10     function yb(){
    11         echo 'hello yb';
    12     }
    13 ?>

    2、函数的使用:

    ---通过访问函数的名字+();如果函数在定义时有参数,那么在调用的时候就必须传入对应的参数;函数是一种结构,不会自动运行,必须通过调用才可以

    ---函数的调用可以在函数的定义之前

    1 示例:
    2 <?php
    3     yb();
    4 ?>

    3、函数执行的内存分析:

    • 读取代码进入到代码段(编译:将代码编程字节码存储到内存)

    • 根据代码逐行执行

    • 原因:编译和执行是分开的,先编译后执行

     

    3、函数命名规范

    • 由字母,数字和下划线组成,不能以数字开头

    • 驼峰法

      除了左边第一个单词外,后面所有的单词都大写

    • 下划线法

      单词之间通过下划线连接,单词都是小写

    • 在一个脚本中,函数不能重名

     

    4、函数的参数

    1、形参

    • 形式参数,不具有实际意义的参数,是在函数定义时使用的参数

    • 形参可以有多个,用逗号隔开

    2、实参

    • 实际参数,具有实际意义的参数,是在函数调用时使用的参数

    • 传入的参数,可以是变量,也可以是直接的值,或者算符计算结果

    • 实参可以比形参多(不会报错,函数内部不用而已),但不能比形参少

    • 形参是实参的载体:实参在调用时通常需要传入到函数内部参与计算,那么需要在函数内部去找到实际数据所在的位置才能找到数据本身,需要实际调用的时候,将数据以实参的形式传递给形参,给形参赋值,从而使得函数内部可以用到外部数据

    1 示例:
    2 <?php
    3     function add($a,$b){
    4         echo $a+$b;
    5     }
    6     $c=10;
    7     add($c,20);
    8 ?>
    9 //结果:30

     

    3、默认值

    形参的默认值:在函数定义的时候,就给形参一个初始赋值,如果调用的时候,没有实参,就用默认值

    【注】:默认值的定义是放在最后边的(多个),不能在左边形参有默认值,但是右边没有

    函数外部定义的变量名字与函数定义的形参是没关系的

    1 示例:
    2 <?php
    3     $num1=10;
    4     function jian($a=0,$b=0){
    5         echo $a-$b;
    6     }
    7     jian($num1);
    8 ?>
    9 //结果:10

     

    4、引用传递

    ---实参在调甲寸会将值赋值给形参,那么实际上使用的方式就是一种简单的值传递:将实参(如果是变量或者常量或者其他表达式)的结果(值)取出来赋值给形参:形参与外部实际传入的参数本身没有任何关联关系:只是结果一样。

    ---有的时候,希望在函数内部拿到的外部数据,能够在函数内部改变,那么就需要明确告知函数(定义时),函数才会在调用的时候去主动获取外部数据的内存地址。以上这种定义形式参数的方式叫作引用传值

    【注】:在传入实参的时候,必须传入变量

    基本定义语法:在形参前加&

    1 function 函数名(形参1,&形参2){
    2     //函数体
    3 }

    在调用的时候,必须给引用传值的参数位置传入实际参数,而且参数本身必须是变量(变量才有指向的数据的内存地址)
     1 示例:
     2 <?php
     3     function display($a,&$b){
     4         $a=$a*$a;
     5         $b=$b*$b;
     6         echo $a,'<br/>',$b,<br/>;
     7     }
     8     $a=10;
     9     $b=5;
    10     display($a,$b);
    11     echo $a,'<br/>',$b,<br/>;
    12 ?>
    13 
    14 //结果:
    15 100
    16 25
    17 10
    18 25

     

  • 相关阅读:
    Socket异步通信
    以读取博客园随笔备份为例 将xml 序列化成json,再序列化成对象
    NhibernateProfiler写个自动破解工具
    关于下载GAE High Replication Datastore数据
    .text 0.958 数据添加
    C#实现RTP数据包传输参照RFC3550
    在线商城表结构
    相似字符串
    .net 4.0 的Socket写的支持跨平台双工的轻量级通讯组件
    写一个迷你版Smarty模板引擎,对认识模板引擎原理非常好(附代码)
  • 原文地址:https://www.cnblogs.com/eighty-five/p/13633443.html
Copyright © 2011-2022 走看看