PHP学习之路——函数

函数

1、自定义函数:PHP内置了超多1000个函数,因此函数使得PHP成为一门非常强大的语言。大多数时候我们使用系统的内置函数就可以满足需求,但是自定义函数通过将一组代码封装起来,使代码进行复用,程序结构与逻辑更加清晰。PHP函数的定义方式:

(1)、使用关键字“function”开始

(2)、函数名可以是字母或者下划线开头:function name()

(3)、在大括号中编写函数体:

             function name()

            {

                  echo 'Eric';

            }

通过以上方式,我们就定义了一个简单的函数,当我们需要的时候,就可以在代码中调用这个函数,调用方法为函数名+参数,例:name();

例:                                                                      输出:

<?php

function say()                                                             =>

{                                                                                        hellow world

        echo 'hellow world';

}

say();

?>

2、函数的参数:PHP的函数可以没有参数,也可以有若干个参数,多个参数称之为参数列表,采用逗号分割,参数类是于一个变量,调用时来传递数据到函数体中。通过参数传递可以使函数实现对参数的运算,得到我们想要的结果参数的变量名可以自由指定,但是最好能够表达相关的意思,常用的设定参数的方法为:

例:                                                                        输出:

<?php

function sum($a, $b)                                                   =>

{                                                                                        3

        echo $a + $b;

}

sum(1, 2);

?>


3、返回值:使用return关键字可以使函数返回值,可以返回包括数组和对象的任意类型,如果略了return,则默认返回值为NULL。

function add($a)

{

      return $a +1;

$b = add(1);

返回语句会立即中止函数的运行,并且将控制权交回调用该函数的代码行,因此下面函数的返回值跟上面的函数是一样的。

function add($a)

{

      return $a +1;

      $a = 10;

      return $a + 20;

$b = add(1);

函数不能返回多个值,但是可以通过返回一个数组来得到类似的效果。

function numbers()

{

      return array(1, 2, 3);

list($one, $two, $three) = number();


例:                                                                                      输出:

<?php                                                                                          =>

     function sum($a, $b)                                                               样例 1: 3

     {                                                                                              样例 2:1 2 3 4 

          return $a + $b;                                                                    
     }                                                                                                       

     echo  '样例 1:' . $c = sum(1, 2);

     echo '<br />';

     function numbers()

     {

         rerurn array(1, 2, 3, 4);    

     }

     $arr = numbers();

     echo  '样例 2:';

     for($index  = 0; $index < sizeof($arr); $index++)

     {

          if( $index <sizeof($arr) - 1)

              echo $arr[$index] . '  ';

          else

               echo $arr[$index];

      }

?>

4、可变函数:所谓可变函数,即通过变量的值来调整函数,因为变量的值是可变的,所以通过改变一个变量的值来实现调用不同的函数。经常会用在回调函数、函数列表、或者根据动态参数调用不同的函数,可变函数的调用方法为变量名加括号。

例:

function name()

{

    echo 'jobs';

}

$func = 'name';

$func();//调用可变函数

可变函数也可以用在对象的方法调用上

class book

{

    function getName()

    {

         return 'bookname';

    }

}

$func = 'getName';

$book = new book();

$book->$func();

例:                                                                                 输出:

<?php                                                                                    =>                                                                              
function func()                                                                          样例 1:my function called      

{                                                                                                样例 2:boolname
    echo '样例 1:' . 'my function called.';                                                                           
}
$name = 'func';//调用可变函数
$name();
echo '<br />';

class book
{
    function getName()
    {
        return 'boolname';
    }
}
$func = 'getName';
$book = new book();
echo '样例 2:' . $book->$func();
?>

5、内置函数:内置函数指的是PHP默认支持的函数,PHP内置了很多标准的常用的处理函数,包括字符串处理、数组函数、文件处理、session与cookie处理等。

例:                                                                  输出:

<?php                                                                  =>
$str = '苹果很好吃。';                                              香蕉很好吃                
//请将变量$str中的苹果替换成香蕉
$str = str_replace('苹果', '香蕉', $str);
echo $str;
?>

6、判断函数是否可见:当我们创建了自定义函数,并且了解了可变函数的用法,为了确保程序调用的函数是存在的,经常会先使用function_exists判断一下函数是否存在。同样的method_exists可以用来检测类的方法是否存在。file_exists可以用来检查文件是否存在。

例:                                                                                             输出:

<?php                                                                                             =>
function func() {                                                                                   函数func()存在!

    echo '函数func()存在!' . '<br />';                                               MyClass类存在 !                    

}                                                                                                          名为:test.txt的文件不存在!

$name = 'func';
if (function_exists('func') ) { //判断函数是否存在
    $name();
}

class Myclass
{
    function fun()
    {
        echo 'Myclass类存在!' . '<br ?>'.;
    }
}
if(class_exists('myclass'))
{
    $Fun = 'fun';
    $Myclass = new MyClass();
    $Myclass->$Fun();
}

$filename  = 'test.txt';
if(!file_exists($filename))
{
    echo '名为:test.txt的文件不存在!';
}?>

你可能感兴趣的:(PHP学习之路——函数)