文件名:function.php
<?php
//自定义函数
echo "<b>自定义函数:</b><br>"; function square($A)
{
return $A*$A;
} $A=4;
echo $A."的平方是:".square($A)."<br>"; echo "<br>"; //变量的作用范围--局部变量、全局变量、静态变量
echo "<b>变量的作用范围--局部变量、全局变量、静态变量:</b><br>"; $B=10;
$C=20; function var_range(){
static $D=30; if($D==30){
$B=15;
echo "局部变量\$B的值是:$B<br><br>"; echo "使用\$GLOBALS全局变量数组显示全局变量\$C的值:".$GLOBALS["C"]."<br><br>"; global $C;
$C+=5;
} echo "静态变量\$D的值是:$D<br><br>";
$D+=2;
} for($i=1;$i<=3;$i++)
var_range(); echo "全局变量\$B的值是:$B<br><br>";
echo "全局变量\$C的值是:$C<br>"; echo "<br>"; //函数参数的传递
echo "<b>函数参数的传递:</b><br>"; echo "a.按值传递参数与按地址传递参数:<br>"; $E=50;
$F=80; function parameter(&$E,$F){
echo "传址参数\$E的值是:$E<br>";
echo "传值参数\$F的值是:$F<br><br>";
$E+=10;
$F+=10;
} parameter($E,$F); echo "函数调用后变量\$E的值:$E<br>";
echo "函数调用后变量\$F的值:$F<br><br>"; echo "b.默认参数与任意数量的参数:<br>"; function parameter_list($G,$H=200){
echo "传递了".func_num_args()."个参数!<br><br>"; echo "参数如下:<br>";
print_r(func_get_args()); echo "<br><br>"; $i=func_num_args()-1;
echo "第".($i+1)."个参数是:".func_get_arg($i)."<br><br>"; echo "参数\$G的值是:$G<br>";
echo "参数\$H的值是:$H<br>";
}
parameter_list(100,150,300); echo "----------------------------------------------<br>"; parameter_list(100); echo "<br>"; //函数的递归调用
echo "<b>函数的递归调用:</b><br>"; function factorial($n)    //递归调用实现求n阶乘
{
if($n>1){
return $n*factorial($n-1);
}
else{
return 1;
}
} echo "<br>用递归调用求n阶乘:<br>"; $n=6; echo $n."!的值是:".factorial($n)."<br>"; echo "<br>"; //内部函数
echo "<b>内部函数:</b><br>"; function out(){
echo "a.非内部函数在外部调用!<br><br>"; function in(){
echo "b.内部函数不能在外部调用!<br>";
} in();
} out(); echo "<br>"; //变量函数(不能用于echo()等语言结构)
echo "<b>变量函数(不能用于echo()等语言结构):</b><br>";
function hello(){
echo "Hello ";
} function world(){
echo "world!<br>";
} $arr=array("hello","world");//实现类似函数表的功能 echo "<br>实现类似函数表的功能:<br>"; $arr[0]();
$arr[1](); echo "<br>";
?>供参考!

解决方案 »

  1.   

    我帮你重新贴下:<?php 
    //自定义函数 
    echo " <b>自定义函数: </b> <br>"; function square($A) 

    return $A*$A; 
    } $A=4; 
    echo $A."的平方是:".square($A)." <br>"; echo " <br>"; //变量的作用范围--局部变量、全局变量、静态变量 
    echo " <b>变量的作用范围--局部变量、全局变量、静态变量: </b> <br>"; $B=10; 
    $C=20; function var_range(){ 
    static $D=30; if($D==30){ 
    $B=15; 
    echo "局部变量\$B的值是:$B <br> <br>"; echo "使用\$GLOBALS全局变量数组显示全局变量\$C的值:".$GLOBALS["C"]." <br> <br>"; global $C; 
    $C+=5; 
    } echo "静态变量\$D的值是:$D <br> <br>"; 
    $D+=2; 
    } for($i=1;$i <=3;$i++) 
    var_range(); echo "全局变量\$B的值是:$B <br> <br>"; 
    echo "全局变量\$C的值是:$C <br>"; echo " <br>"; //函数参数的传递 
    echo " <b>函数参数的传递: </b> <br>"; echo "a.按值传递参数与按地址传递参数: <br>"; $E=50; 
    $F=80; function parameter(&$E,$F){ 
    echo "传址参数\$E的值是:$E <br>"; 
    echo "传值参数\$F的值是:$F <br> <br>"; 
    $E+=10; 
    $F+=10; 
    } parameter($E,$F); echo "函数调用后变量\$E的值:$E <br>"; 
    echo "函数调用后变量\$F的值:$F <br> <br>"; echo "b.默认参数与任意数量的参数: <br>"; function parameter_list($G,$H=200){ 
    echo "传递了".func_num_args()."个参数! <br> <br>"; echo "参数如下: <br>"; 
    print_r(func_get_args()); echo " <br> <br>"; $i=func_num_args()-1; 
    echo "第".($i+1)."个参数是:".func_get_arg($i)." <br> <br>"; echo "参数\$G的值是:$G <br>"; 
    echo "参数\$H的值是:$H <br>"; 

    parameter_list(100,150,300); echo "---------------------------------------------- <br>"; parameter_list(100); echo " <br>"; //函数的递归调用 
    echo " <b>函数的递归调用: </b> <br>"; function factorial($n)    //递归调用实现求n阶乘 

    if($n>1){ 
    return $n*factorial($n-1); 

    else{ 
    return 1; 

    } echo " <br>用递归调用求n阶乘: <br>"; $n=6; echo $n."!的值是:".factorial($n)." <br>"; echo " <br>"; //内部函数 
    echo " <b>内部函数: </b> <br>"; function out(){ 
    echo "a.非内部函数在外部调用! <br> <br>"; function in(){ 
    echo "b.内部函数不能在外部调用! <br>"; 
    } in(); 
    } out(); echo " <br>"; //变量函数(不能用于echo()等语言结构) 
    echo " <b>变量函数(不能用于echo()等语言结构): </b> <br>"; 
    function hello(){ 
    echo "Hello "; 
    } function world(){ 
    echo "world! <br>"; 
    } $arr=array("hello","world");//实现类似函数表的功能 echo " <br>实现类似函数表的功能: <br>"; $arr[0](); 
    $arr[1](); echo " <br>"; 
    ?>