PHP函数的那些事

摘要

函数是指一段在一起的、可以做某一件事儿的程序。函数做为程序语言中必不可少的部分,占据极其重要的地位。对于函数的灵活运用,有时可以极大的提高我们的编码效率。同时也能最大化的精简我们的代码。

函数是指一段在一起的、可以做某一件事儿的程序。函数做为程序语言中必不可少的部分,占据极其重要的地位。对于函数的灵活运用,有时可以极大的提高我们的编码效率。同时也能最大化的精简我们的代码。

1、函数的命名

函数的命名跟自定义变量一样,首字母只能使用字母和_,PHP中的函数命名一般使用驼峰法和下划线分隔法。

2、函数的参数列表可以是多个

参数列表可以是多个,并且数据类型可以是任意的类型(array,integer,float,boolean,string,object,null,资源类型)。

3、函数中要使用全局变量的时,使用global

  1. <?php
  2. $user = 'shaw';
  3. function getUser() {
  4.   global $user;
  5.   echo $user;
  6. }
  7. getUser();
  8. ?>

4、函数中定义的变量为局部变量,函数外不生效

  1. <?php
  2. function getUser() {
  3.   $user = 'shaw';
  4.   echo $user;
  5. }
  6. // 此处访问不到函数内部定义的$user;
  7. echo $user;
  8. ?>

5、函数中使用global 变量,如果函数外没有则创建一个全局的变量

  1. <?php
  2. function getUser() {
  3.   global $user;
  4.   $user = '函数内部创建的全局变量';
  5. }
  6. getUser();
  7. echo $user;
  8. ?>

6、函数中的静态变量

  1. <?php
  2. function getNum() {
  3.   static $n = 1;
  4.   echo $n, '<br>';
  5.   $n++;
  6. }
  7. getNum(); // 1
  8. getNum(); // 2
  9. getNum(); // 3
  10. ?>

注:当我们在变量前加了关键字static,这个变量就是静态变量。有如下特点:数据将会放在静态区;只会完成一次初始化。

7、函数默认值

如果我们定义函数行参时,如果指定的默认值,当我们调用函数时,如果没有传入对应的实参,则会使用函数默认值。

注:函数传递的参数过程中,默认通过值传递,因而即使在函数内部改变参数的值并不会改变函数外部的值。如果希望允许函数修改他的参数值,必须通过引用传递参数。如果想要函数的一个参数总是通过引用传递,可以在函数定义中给该函数的前面加上&。

  1. <?php
  2. $a = 123;
  3. function getResult1($num) {
  4.   $num = 234;
  5. }
  6. getResult1($a);
  7. echo $a, '<hr>'; // 123
  8. $a = 123;
  9. function getResult2(&$num) {
  10.   $num = 234;
  11. }
  12. getResult2($a);
  13. echo $a// 234
  14. ?>
shaw

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: