PHP-函数(2)

<?php
/*  PHP的变量的范围:
 * 局部变量: 在函数中声明的变量就是局部变量,只能在自己的函数内部使用。
 * 全局变量: 在函数外声明,在变量声明以后的,直到整个脚本结束前都可以使用,包括在函数中和{}中都可使用
 *    
 *      PHP的变量分不出 是声明还是使用, 
 *      在PHP中使用全局变量 要通过global关键字将这个全局变量包括到函数中才能使用到,在global声明之后才是使用全局的变量
 *
 *     参数就是局部变量,这个局部变量可以调用 时去赋值。
 *
 *  PHP的静态变量
 *
 *   静态变量只能声明在函数中(类中),不能在全局声明
 *   使用static在变量前;
 *
 *   作用:一个变量可以在同一个函数在多次调用中同用。
 *       1. 静态变量在静态代码段中保存

 *       2. 一个函数多次调用之间共用,但只在第一次调用 函数时声明到内存,以后再调用用,就不再声明,而直接使用

function testFunc(){
		static $i=100;
		$i++;
		echo $i;
		
	}
	testFunc();
	echo '<br>';
	testFunc();
	echo '<br>';
	testFunc();   //如果变量$i不加static 静态变量修饰符   3次执行testFunc()输入的结果是一样的,不会增加。

 *

 *  变量函数:如果一个变量后面有括号$var=hello  $var(), 就将寻找与变量值同名的函数 hello();

function three($a, $b){
  	return $a*$a*$a+$b*$b*$b;
  }

  $var=three;

  echo "结果:".$var(3, 4)."<br>";

 *
 *
 *  1. 函数的功能------------决定是否使用这个函数
 *  2. 函数的参数------------决定函数怎么调用 ---有几个参,传什么类型的值,。。。。
 *  3. 函数的返回值----------调用后怎么处理这个函数
 *
 *  PHP给2000多个函数。。。 都属于系统涵 数,都可以通过名称直接使用。
 *
 *  一定要先使用系统函数,如果系统函数没有你想要的功能,再去自己定义函数
 *
 *  1. 常规函数  
  bool copy ( string source, string dest ) 
    2. 带有mixed , mixed表示可以传任何类型的数据 
       bool chown ( string filename, mixed user )
    3. 带有&参数的函数, 表示引用赋值, 这个参数不能传值,只能传一个变量,然后函数将变量的值改变,我们在使用这个变量时,值也是变化的
bool arsort ( array &array [, int sort_flags] )
$arr=array(1, 9, 5, 8, 3, 4);

sort($arr);

print_r($arr);



    4.默认函数 带有[]的函数, 表示这个参数是可选的,如果你传值了就使用你传的值,如果没有传值则使用默认值
    直接在声明函数时,就为参数给初值。
    可选值和必须值, 必须从后向前设置

bool arsort ( array &array [, int sort_flags] )

 function demo($a=1, $b=20, $c){
   	echo "### $a ### $b ##### $c ########<br>";
   }	

   demo(8,9);

    
    5. 带有...的参数函数, ...表示可以传任意多个参数

    int array_unshift ( array &array, mixed var [, mixed ...] )

	  function demo(){
	  $args=func_get_args();  //获取参数数量
	//  print_r($args);

	  $sum=0;
	  for($i=0; $i<count($args); $i++){
	  	$sum+=$args[$i];
	  }

	  return $sum;
  }
	function demo2(){
		$k=func_get_args();
		print_r($k);
	}

 

 echo	demo(1, 2, 3, 4, 5, 6, 7,8,9).'<br>';//结果:45
 echo	demo2(1,3,9);    // 结果:Array ( [0] => 1 [1] => 3 [2] => 9 )



   6. 回调函数 带有callback,  就是调用这个函数时需要我们传一个函数进来(函数名,函数名字串)

      array array_filter ( array input [, callback callback] )

 function demo($x, $y){
  	return $x*$y;
  }

  function test($x, $y){
  	return $x*$x + $y*$y;
  }

   function sum($a, $b, $fun){
   	
		return $a+$b+$fun($a,$b);
   
   }

  echo sum(2, 3, demo);
  echo sum(2, 4, "test");

      
 *
 */
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值