Php基础篇第八课php中的函数(中)

Php基础篇第八课php中的函数(中)
 
<?php
/*  PHP的变量的范围
 *    局部变量: 在函数中声明的变量就是局部变量,只能在自己的函数内部使用。
 *    全局变量: 在函数外声明,在变量声明以后的,直到整个脚本结束前都可以使用,包

括在函数中和{}中都可使用
 *   
 *      PHP的变量分不出 是声明还是使用,
 *      在PHP中使用全局变量 要通过global关键字将这个全局变量包括到函数中才能使用到

,在global声明之后才是使用全局的变量,否则函数内不能使用全局变量
 *
 *
 */
 
$a=10;
 
 
function demo(){
       global $a;        //声明$a是全局变量,并且在这个函数中调用
       $a+=10;
       echo $a." demo<br>";
}
 
function test(){
       $a+=5;         //这个a就是函数内部的变量,而不是全局变量,不会影响全局变量$a的值。
       echo $a." test<br>";
}
 
echo $a."—-<br>";
demo();
echo $a."!!!!<br>";
demo();
echo $a."@@@@@<br>";
test();
echo $a."#######<br>";
 
 
 
 
*  PHP的静态变量
 *
 *         静态变量只能声明在函数中(类中),不能在全局声明
 *         使用static在变量前;
 *
 *         作用:一个变量可以在同一个函数在多次调用中同用。
 *              1. 静态变量在静态代码段中保存
 *              2. 一个函数多次调用之间共用,但只在第一次调用 函数时声明到内存,以后再调用用,就不再声明,而直接使用
 */
 
 
   function test(){
     static $a=0;              //如果$a不是静态变量,当多次调用test()时,输出的都是1,但因为是静态变量,所以多次调用test()后, 输出是1、2、3、4增减。变量不释放。
       $a++;
 
       echo $a."<br>";
   }
 
  test();
  test();
  test();
  test();
  test();
  test();
 
 
 
 
*  变量函数:如果一个变量后面有括号$var=hello  $var(), 就将寻找与变量值同名的函数 hello();
 *
 */
function one($a, $b){
      return $a+$b;
  }
 
  function two($a, $b){
      return $a*$a+$b*$b;
  }
 
  function three($a, $b){
      return $a*$a*$a+$b*$b*$b;
  }
 
 
  $var=one;
  $var="two";
  $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] )
   
    4.默认函数 带有[]的函数, 表示这个参数是可选的,如果你传值了就使用你传的值,如果没有传值则使用默认值
    直接在声明函数时,就为参数给初值。
    可选值和必须值, 必须从后向前设置
       bool arsort ( array &array [, int sort_flags] )
 
5. 带有…的参数函数, …表示可以传任意多个参数
           int array_unshift ( array &array, mixed var [, mixed …] )
 
   6. 回调函数 带有callback,  就是调用这个函数时需要我们传一个函数进来(函数名,函数名字串)
           array array_filter ( array input [, callback callback] )
     
 *

本文链接:https://www.dnwfb.com/560.html,转载请注明出处。
0

评论0

没有账号? 注册  忘记密码?