1. 函数的任意参数
function fun1()
{
echo “#########<br/>”;
}
fun1();
fun1(1,2,3,4);
function fun2($a, $b, $c, $d, $e)
{
echo “########<br>”;
}
@fun2();// 加上@符号是去掉警告
@fun2(1,2);
2. 默认参数必须列在所有没有默认参数的后面
function fun3($a, $b, $c=3, $d=4, $e=5)
{
echo $a.“<br/>”;
echo $b.“<br/>”;
echo $c.“<br/>”;
echo $d.“<br/>”;
echo $e.“<br/>”;
}
// fun3();// 加上@符号是去掉警告
fun3(1,2, “abc”);// “abc”就是可选参数的值
function fun3($a=1, $b=2, $c, $d, $e)
{
echo $a.“<br/>”;
echo $b.“<br/>”;
echo $c.“<br/>”;
echo $d.“<br/>”;
echo $e.“<br/>”;
}
// fun3();// 加上@符号是去掉警告
fun3(1,2, “abc”);// “abc”就是可选参数的值
3. 任意数量的参数列表
function fun($a)
{
$sum=0;
$args = func_get_args();// 会返回所有参数的值
for($i=0; $i<count($args); $i++)
{
$sum+=$args[$i];
}
return $sum;
}
fun(1,2,3,4,5,6);
4. 变量函数(类似于多态)
可以把一个函数赋给一个变量
function test()
{
echo “###############<br/>”;
echo “###############<br/>”;
echo “###############<br/>”;
echo “###############<br/>”;
echo “###############<br/>”;
}
function demo()
{
echo “@@@@@@@@@@@@@@@<br/>”;
echo “@@@@@@@@@@@@@@@<br/>”;
echo “@@@@@@@@@@@@@@@<br/>”;
echo “@@@@@@@@@@@@@@@<br/>”;
}
$a=test;
$a=demo;
$a();
系统结构函数不能用作变量函数:
echo(),print(), unset(), isset(), empty(), include(), require();
5. 回调函数
function demo($a)
{
if($a>1)
{
$r=$a*demo($a-1);
}else
{
$r=$a;
}
return $r;
}
demo(10);
6. 内部函数,外部函数没有调用的情况下是,不可以调用的。
function demo()
{
function fun1()
{
echo “@@@@@@@@@@@@@@@<br/>”;
}
function fun2()
{
echo “###############<br/>”;
}
}
demo();
fun1();
fun2();
7. 两个重用函数
include(“demp.php”); require(“demo.php”);
1). 可以不加括号
include “demo.php”;
require “demo.php”;
2). 被包含的文件可以是任意类型的文件
include (“text.txt”);
3). 可以包含多次,包含多少次就会被调用多少次,而且不能重复定义
include (“text.txt”);
include (“text.txt”);
include (“text.txt”);
include (“text.txt”);
4). 防止重复包含用include_once和require_once
8. 一个页面的布置的例子
<?php
include “header.php”;
?>
<?php
include “body.php”;
?>
<?php
include “footer.php”;
?>
function fun1()
{
echo “#########<br/>”;
}
fun1();
fun1(1,2,3,4);
function fun2($a, $b, $c, $d, $e)
{
echo “########<br>”;
}
@fun2();// 加上@符号是去掉警告
@fun2(1,2);
2. 默认参数必须列在所有没有默认参数的后面
function fun3($a, $b, $c=3, $d=4, $e=5)
{
echo $a.“<br/>”;
echo $b.“<br/>”;
echo $c.“<br/>”;
echo $d.“<br/>”;
echo $e.“<br/>”;
}
// fun3();// 加上@符号是去掉警告
fun3(1,2, “abc”);// “abc”就是可选参数的值
function fun3($a=1, $b=2, $c, $d, $e)
{
echo $a.“<br/>”;
echo $b.“<br/>”;
echo $c.“<br/>”;
echo $d.“<br/>”;
echo $e.“<br/>”;
}
// fun3();// 加上@符号是去掉警告
fun3(1,2, “abc”);// “abc”就是可选参数的值
3. 任意数量的参数列表
function fun($a)
{
$sum=0;
$args = func_get_args();// 会返回所有参数的值
for($i=0; $i<count($args); $i++)
{
$sum+=$args[$i];
}
return $sum;
}
fun(1,2,3,4,5,6);
4. 变量函数(类似于多态)
可以把一个函数赋给一个变量
function test()
{
echo “###############<br/>”;
echo “###############<br/>”;
echo “###############<br/>”;
echo “###############<br/>”;
echo “###############<br/>”;
}
function demo()
{
echo “@@@@@@@@@@@@@@@<br/>”;
echo “@@@@@@@@@@@@@@@<br/>”;
echo “@@@@@@@@@@@@@@@<br/>”;
echo “@@@@@@@@@@@@@@@<br/>”;
}
$a=test;
$a=demo;
$a();
系统结构函数不能用作变量函数:
echo(),print(), unset(), isset(), empty(), include(), require();
5. 回调函数
function demo($a)
{
if($a>1)
{
$r=$a*demo($a-1);
}else
{
$r=$a;
}
return $r;
}
demo(10);
6. 内部函数,外部函数没有调用的情况下是,不可以调用的。
function demo()
{
function fun1()
{
echo “@@@@@@@@@@@@@@@<br/>”;
}
function fun2()
{
echo “###############<br/>”;
}
}
demo();
fun1();
fun2();
7. 两个重用函数
include(“demp.php”); require(“demo.php”);
1). 可以不加括号
include “demo.php”;
require “demo.php”;
2). 被包含的文件可以是任意类型的文件
include (“text.txt”);
3). 可以包含多次,包含多少次就会被调用多少次,而且不能重复定义
include (“text.txt”);
include (“text.txt”);
include (“text.txt”);
include (“text.txt”);
4). 防止重复包含用include_once和require_once
8. 一个页面的布置的例子
<?php
include “header.php”;
?>
<?php
include “body.php”;
?>
<?php
include “footer.php”;
?>