php函数 参数 使用方法 引用传递 return返回值 的详解 (根据黑马的笔记)

本文详细介绍了PHP函数的定义、调用、命名规范、参数传递(形参与实参)、默认值、引用传值以及返回值的概念。通过示例展示了如何定义和使用函数,包括函数体内的操作、返回值的获取以及引用传值的机制。同时,文章还强调了函数命名的重要性以及在实际开发中避免同名函数的原则。
摘要由CSDN通过智能技术生成

<?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’;
//在浏览器打开就会发现了


?>

此图时最后描述的函数 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

想给世界留下 1bite 的印象

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值