<?php
//定义函数
function display(){
echo"hello,world";
}
//调用函数的用法
// 通过访问函数的名字+(形参,实参),如果函数的定义时候有参数,那么调用的时候,就必须传入相对应的参数!!!
//函数是种结构,不会自动运行,只有使用特定的方法调用,才会使其运行
//display();
//函数调用的特点:函数调用可以在函数之前,只要能在内存中找到函数名,就可以调用;
/*函数命名规范
*只能以 字母 下划线 数字 组成,但是不能够以数字开头!!
* 函数的功能可能有时候会比较复杂,几个简单的单词组成的函数名不足以描绘出函数的具体功能;所以命名有以下两个方法
* 1.驼峰法:除了左边第一个单词外,其他的字母首个单词全部大写;checkName
* 2.下划线法:单词之间通过下划线链接,单词都是小写 ; check_name
*
*
* 函数名字特点:在同一个脚本周期中,不允许出现同名函数(在同一个系统开发中,不允许出现一样的函数名字)
*/
/* 参数的详解
* 参数分为两种:
* 1.形参:形式参数,不具有实际的意义,实在定义函数时候使用的参数;
* 2.实参:实际参数,有具体意义的数据参数,实在函数调用的时候使用的参数;
* 两者之间的关系:
* 形参可以看做实参的载体,实参在调用时,通常是需要传入函数内部参与计算,那么需要在函数内部去找到实际数据所在位置才能找得到数据本身,
* 需要在实际调研的时候,将数据以是实参的方式传递给形参,给形参赋值,从而使得函数内部可以用到外部数据!!!
*/
function add($arg1,$srg2){ //形参可以有多个,使用逗号分开即可
//函数体,可以直接使用形参运算
echo $arg1+$srg2;
}
//调用函数
//第一种调用方法 add(10,20);
//第二中调用方法 定义实参$num1
//$num1=10 ;
//add(20,$num1); //传入的实参,可以是变量或者其他有值的表达式(变量常量)
/* 函数操作的执行步骤:
* 1.系统调用add函数,去内存中检查是否存在add函数,
* 2.系统会在栈区开辟出内存空间,来运行函数add;
* 3.系统会查看函数本身是否有形参,(俩)
* 4.系统在调用的时候会判断是否有实参;
* 5.系统默认会将实参的值$num1赋予$arg1,20赋予$srg2;
* 6.执行函数体,run
* 7.返回函数执行(返回值)
*/
/* 注意:
* 1.php中允许实参多余形参(个数),(函数内部不用而已)
* 2.php理论上形参个数没有限制(实际开发不会太多 10个左右会有的)
* 3.实参不能少于形参个数
*/
//形参的默认值:default value
function jian($num1=0,$num2=0){
echo $num1-$num2;
}
//jian($num1);
//echo $num1;
//结果是1010,因为我们给num1的值为10所以 echo$num1可定是10,我们给函数复制的第一个实参为10,第二个为赋值,所以第二个为默认值0,所以jian($num1)
//也是10;
//注意事项:
//1.如果一个形参有默认值,另一方也得有,否则出错;
//2.函数外的变量与形参名字冲突是没有关联的,多个函数的多个形参冲突页没有关联
//函数参数——引用传值(实参形参的引用传递)
//型参与实参在传值的时候,仅仅只是把值进行了传递,对外部变量没有任何作用关系
//所以有的时候,我们希望从函数内部,获取到外部的值,并加以作用,使其在函数内部改变,
//想做到如上操作,那么我们必须明确的告知函数(定义时)函数才会主动的获取外部数据的内存地址,这种定义形式叫做<<引用传值>>
/*
* 基本定义语法:
* function 函数名(形参1 & 形参2){
*
* 函数体
*
* }
*
* !!注意:在调用的时候,必须给引用传值的参数位置传入实际参数,而且参数本身必须是变量(变量才有指向的数据的内存地址)
*/
//引用传值实际操作
function displayy($a,&$b){
$a=$a*$a;
$b=$b*$b;
echo $a,'<br>',$b,'<br/>';
}
//定义变量
$a=10;
$b=5;
//调用函数
//displayy($a,$b);//100 25
//错误的用法
//displayy(10,5);
//echo '<hr/>',$a,'<br/>',$b; //
//函数体{}里面的,基本上所有的代码都可以实现
/*
* 1.定义变量
* 2.定义常量
* 3.使用流程控制(分支,循环)
* 4.可以调用函数(可以调用自己,但是容易出问题)
*/
//返回值
//通过return,指的是将函数实现的结果,通过return关键字,返回给函数外部(函数调用处);在PHP中所有的函数都有返回值,(如果没有明确使用return,系统默认为null)
//示例
function a(){
echo __FUNCTION__;//输出函数名
}
//a();
//var_dump(a());//打印对应的结果,在里面写表达式也是没问题的,只要你的表达式本身有结果返回
//返回值作用,将计算结果返回
function addd($num1,$num2){
return $num1 + $num2 ;//返回结果
}
$res=addd(10,20); //外部定义变量,接受函数运行结果
echo $res ;
//函数的返回值,可以是任何数据类型,
/*
* 1.return在函数内部存在的价值,返回当前的结果集,(当前函数运行结束)
* 2.return还可以在文件中直接使用(不在函数体内使用),代表文件将结果return后面跟的内容,转交给包含当前文件的位置(通常在系统配置文件中使用较多),输出的结果必须在return之前
*
*
*
*/
//举个例子(用得到的)
//拿上例子来说 ,在echo $res 后面加一个return‘hello world’
//然后创个文件 在文件里面写上 include_once‘此文件名,例如function1.php’;
//在浏览器打开就会发现了
?>
此图时最后描述的函数