PHP笔记之函数

有返回值的函数的写法

function add($a,$b){
   return $a+$b;
}
add(30,40);

伪类型参数
主要进行函数参数类型说明

/*
number add (number $a,number $b)
//任何类型
mixed funname(mixed $a);
//传函数
funname(callback $a);
*/

有引用参数的函数
如果在函数说明中,有&出现,说明是引用参数,调用传参数时,则必须传递一个变量,而不是一个值。原因
1.只有在内存中的变量,才有地址
2.有引用关系的两个变量,一个变,另一个就变

$a = 20;
function demo(&$a){
    $a = 100;
}
echo $a."
"; demo($a); echo $a."
";

默认参数的函数
注意:默认参数必须列在所有没有默认值参数的后面。

/*
//中括号代表可选的
demo(string $name,int $age,[string $sex,[$string $email]]);
*/
function demo($name,$age,$sex = "three",$email = "[email protected]"){
    echo"--------"
}

多个参数的传输
没有声明参数列表,但可以传入任意个数,任意类型的参数值

function more_args(){
  $args =func_get_args();
   for($i = 0;$i";
   }
}
more_args("one",1,2,4);

变量函数
如果将一个函数名称(字符串),给一个变量(字符串),然后在这个变量后加上括号,就会调用这个变量值

function add($a,$b){
      return $a+$b;
}
$one = "add";
echo $one(10,20);//30

回调函数
在参数调用时,在参数中传的不是一个变量或一个值,而是一个函数

$arr = array(1,3,2,81,19);
function data($a,$b){
      
        if($a>$b)
                  return -1;
        else if($a <$b)
                return 1;
         else
                return 0;
}
print_r($arr);
usort($arr,"data");
echo '
' ; print_r($arr);
 //回调函数
    function demo($n,$func){
        for ($i=0; $i <$n ; $i++) { 
            if ($func($i)) 
                continue;       
                echo $i."
"; } } function test($a){ if ($a%3 == 0) { return false; }else{ return true; } } demo(10,"test");

利用系统函数读文件

//./是本文件,../是上一级文件路径
    $dirname = "../phpmyadmin";
    $dir = opendir($dirname);

    // echo readdir($dir).'
'; while ($file = readdir($dir)) { $filepath = $dirname.'/'.$file; if (is_dir($filepath)) { echo "目录:{$filepath}
"; }else{ echo "文件:{$filepath}
"; } } //关闭 closedir($dir);

递归函数:自己调用自己

function testFunc($n){
            echo $n."
"; //结果2 if ($n>0) { 1 testFunc($n-1); 0 }else{ -------- echo "-----------
"; 0 } 1 echo $n."
"; 2 } testFunc(2);

加载自定义的函数库
include:
include_once:防止重复加载
require:与include几乎等价,但当处理失败时,include()产生警告,require则导致一个致命错误
require_once:

require"function.inc.php";
require("demo.txt");

你可能感兴趣的:(PHP笔记之函数)