php第四天 函数

函数

完成指定任务的功能代码块

//自定义函数

定义

 function  函数名( 参数1, 参数2...)
 {
 	函数体(语句)
 	return 返回值
 }
函数名( 参数1, 参数2...);

  function roge($a)
           {
            for($i=1 , $j=1; $i<=$a; $i++)
               {
                   if($i%7==0)
                   {
                         $j++;
                         echo "$i";
                      if($j%4==1)
                      {
                   }
                   echo "<hr>";
                      }
               }
             
            }

        
            roge(80)
    

作用

给一段代码起一个名字, 以后写名字 , 代码就会执行. 即调用.

通过名字 , 可以多次调用.

特点

  1. 变量要先定义赋值才可以输出, 但函数的定义和调用不分先后顺序的 函数的定义代码, 会被提前放到内存.

  2. 函数定义了, 不调用就不执行.

  3. 函数名不区分大小写. 但推荐要一致.

变量作用域(范围)

由于函数的出现,导致变量的能见度(生命周期)不同. 共划分为:全局变量、局部变量、 静态变量:

1). 全局变量: 在函数外定义变量,

作用域 : 在整个php文件中都可以被使用的变量.

<?php
	//变量的作用域:全局变量

	$a=10;//定义一个变量a值为10
	$b=20;
	//定义一个函数
	function fun()
    {
		global $a; //尝试使用外部的全局变量a
		echo $a; //输出变量a的值10
		echo $b; //输出变量b的值,结果没有(因为没有使用global)
		$a=100;
	}
	fun(); //调用函数fun

	echo $a; //100

2). 局部变量: 在函数中定义变量

作用域 : 只能在函数内部使用. 可以使用return 将值返回, 函数结束时, 会被自动销毁

<?php
	//变量的作用域:局部变量

	//定义一个函数
	function fun()
	{
		$a=100;	//函数内定义变量
		echo $a; //将变量a的值返回
	}
	fun(); //调用函数fun
	echo $a; //没有输出,在函数内定义的变量,在函数外是无法使用的

3). 静态变量: 在函数中使用 static 定义变量

作用域 : 只能在函数内部使用. 函数结束时, 不被销毁. 函数下一次执行时还可以使用.

<?php
    function fun()
    {
        static $i=1; //在当前脚本中连续多次调用本函数,i依然有效,里面的静态声明(初始化)只会调用一次。
        $i++;
        echo $i."<br/>";
    }
    fun();  //2
    fun();  //3
    fun();  //4

// 实参比形参多,多出来的会被忽略
// 形参比实参多,会报错误

// 2)默认参数
//形参
//默认参数放最后
  function func($x, $y, $z=5)
  {
   echo $x+$y+$z;
   }
// 实参
func(2,3,4);

3). 引用方式传递(引用传值)
使用&符来实现引用传递,就是将参数直接给函数使用。(起别名)

假如函数内容发生改变,会使当前参数也发生改变。

让 实参 和 形参 建立引用关系

注意: 调用引用参数(实参)时,必须使用变量,不可以直接用值, 否则不能建立引用关系

function func($str)
{ 
  $str =  4567;
  echo $str
}
$sr = '1234';
func($sr);
echo $sr;

4). 可变长度参数列表

func_get_args()	//以数组的方式返回所有的参数信息

func_get_arg($index) 	//获取指定参数位置(index:从0开始的整数)的信息

func_num_args()	//获取参数的个数

<?php
//可变长度参数列表
function dosum()
{
	//echo "参数的个数:".func_num_args()."<br/>";
	//通过下标的方式获取一个值
	//echo "某个参数的值:".func_get_arg(4)."<br/>";
	$sum=0;
	for($i=0;$i<func_num_args();$i++){
		echo func_get_arg($i)." ";
		$sum+=func_get_arg($i);
	}
	echo "<br/>";
	echo "共计:".$sum;
}
dosum(10,20,50,60,300,100,20);

函数的返回值

1)  return 后面可以是任何类型的值

2)  不写return,  或者只写return,  函数的返回值为  null

3)  return 下面的语句不会被执行.   因为return 的意思是函数结束, 并且返回到调用这个函数的位置.

可以返回在意类型的值
return’哈哈哈哈
/如果画数内部没有 return认返回值是UL
/如果数内部只写了 return返回值还是ULL

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值