PHP 函数 创建 PHP 函数 function functionName() { 要执行的代码; }
PHP 函数准则: • 函数的名称应该提示出它的功能 • 函数名称以字母或下划线开头(不能以数字开头)
 
一个简单的函数,在其被调用时能输出我的名称:
1 2 3 4 5 6 7 8 9 10 11 12 13 <html> <body> <?php     function  writeName ( )      {        echo  "Kai Jim Refsnes" ;     }     echo  "My name is " ;     writeName(); ?> </body> </html>12345678910111213  
 
输出: My name is Kai Jim Refsnes
 
添加参数 下面的实例将输出不同的名字,但姓是相同的:
1 2 3 4 5 6 7 8 9 10 11 12 13 <?php     function  writeName ($fname  )      {        echo  $fname  . " Refsnes.<br>" ;     }     echo  "My name is " ;     writeName("Kai Jim" );     echo  "My sister's name is " ;     writeName("Hege" );     echo  "My brother's name is " ;     writeName("Stale" ); ?> 12345678910111213 
 
输出: My name is Kai Jim Refsnes. My sister’s name is Hege Refsnes. My brother’s name is Stale Refsnes.
 
以下函数有两个参数:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 <?php     function  sum ($a , $b  )      {        echo  $a  + $b ;     }          sum(1 , 2 ); ?> 12345678 <?php     function  writeName ($fname ,$punctuation  )      {        echo  $fname  . " Refsnes"  . $punctuation  . "<br>" ;     }     echo  "My name is " ;     writeName("Kai Jim" ,"." );     echo  "My sister's name is " ;     writeName("Hege" ,"!" );     echo  "My brother's name is " ;     writeName("Ståle" ,"?" ); ?> 12345678910111213 
 
输出: My name is Kai Jim Refsnes. My sister’s name is Hege Refsnes! My brother’s name is Ståle Refsnes?
 
返回值 使用 return 语句让函数返回一个值
1 2 3 4 5 6 7 8 <?php     function  add ($x ,$y  )      {        $total =$x +$y ;         return  $total ;     }     echo  "1 + 16 = "  . add(1 ,16 ); ?> 12345678 
 
输出: 1 + 16 = 17
 
① 使用return关键字可以返回包括数组和对象的任意类型,如果省略了 return,则默认返回值为 NULL。
1 2 3 4 5 function  add ($a  ) {    return  $a +1 ; } $b  = add(1 );12345 
 
② 返回语句会立即中止函数的运行,并且将控制权交回调用该函数的代码行,因此下面函数的返回值跟上面的函数是一样的。
1 2 3 4 5 6 7 8 9 10 <?php     function  add ($a  )      {        return  $a +1 ;         $a  = 10 ;         return  $a +20 ;     }     $b  = add(1 );     echo  $b ; ?> 12345678910 
 
输出: 2
③ 函数不能返回多个值,但可以通过返回一个数组来得到类似的效果。
1 2 3 4 5 6 7 8 9 10 11 12 <?php     function  numbers ( )      {        return  array (1 , 2 , 3 );     }     list  ($one , $two , $three ) = numbers();     echo  $one ;     echo  "<br>" ;      echo  $two ;     echo  "<br>" ;      echo  $three ; ?> 123456789101112 
 
输出: 1 2 3
可变函数 所谓可变函数,即通过变量的值来调用函数,因为变量的值是可变的,所以可以通过改变一个变量的值来实现调用不同的函数。经常会用在回调函数、函数列表,或者根据动态参数来调用不同的函数。可变函数的调用方法为变量名加括号。
1 2 3 4 5 6 7 8 9 <?php     function  func ( )      {        echo  'my function called.' ;     }     $name  = 'func' ;          $name (); ?> 123456789 
 
输出: my function called. 可变函数也可以用在对象的方法调用上。
1 2 3 4 5 6 7 8 9 10 11 12 <?php     class  book       {        function  getName ( )          {            return  'bookname' ;         }     }     $func  = 'getName' ;     $book  = new  book();     echo  $book ->$func (); ?> 123456789101112 
 
输出: bookname
 
内置函数 
PHP默认支持的函数。PHP内置了很多标准的常用的处理函数,包括字符串处理、数组函数、文件处理、session与cookie处理等。
 
先拿字符串处理函数来举例,通过内置函数str_replace可以实现字符串的替换。下面的例子将“jobs”替换成“steven jobs”:
1 2 3 4 5 <?php     $str  = '苹果很好吃。' ;     $str  = str_replace('苹果' , '香蕉' , $str );      echo  $str ; ?> 12345 
 
输出: 香蕉很好吃
另外一些函数是通过其他扩展来支持的,比如mysql数据库处理函数,GD图像处理函数,邮件处理函数等,PHP默认加载了一些常用的扩展库,我们可以安装或者加载其他扩展库来增加PHP的处理函数。
PHP 提供了超过 1000 个内建的函数。后面笔者会介绍更多其他的内置函数及用法。 所有数组函数的完整参考手册和实例:http://blog.csdn.net/fancie_wong/article/details/53007273 
判断函数是否存在 当我们创建了自定义函数,并且了解了可变函数的用法,为了确保程序调用的函数是存在的,经常会先使用function_exists判断一下函数是否存在。同样的method_exists可以用来检测类的方法是否存在。
1 2 3 4 5 6 7 8 9 10 11 <?php     function  func ( )      {        echo  'exists' ;     }     $name  = 'func' ;     if  (function_exists($name ))     {         $name ();     } ?> 1234567891011 
 
输出: exists
类是否定义可以使用class_exists。
1 2 3 4 5 6 7 class  MyClass  {} if  (class_exists('MyClass' )){     $myclass  = new  MyClass(); }1234567  
 
PHP中有很多这类的检查方法,例如文件是否存在file_exists等。
1 2 3 4 5 $filename  = 'test.txt' ;if  (!file_exists($filename )){     echo  $filename  . ' not exists.' ; }12345  
 
php7 对书写函数的要求提供,如果要使用全局变量需要使用 global 声明先。
conn.php:
1 2 3 <?php  $title ="runoob" ;?> 
 
index.php:
1 2 3 4 5 6 7 8 <?php include  ('conn.php' );function  titleshow  ( )  {    global  $title ;       echo  $title ; } titleshow(); ?> 
 
end