文件名: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>";
?>供参考!
<?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>";
?>供参考!
解决方案 »
- 求助一个url转码跳转的技术问题(csdn都没人知道了吗)
- 急,请个位大侠帮忙,有关php服务器端调用的问题
- 请问PHP和ASP各自的COOKIE或SESSION能否通用?
- 求助:echo 12 ^ 9; // Outputs '5',这里的“^”是什么意思,5是如何得出的?
- 请问:一个简单的表单数据传送问题
- 如果判断一个数字为奇数还是偶数?
- 请教:PHP链接MYSQL数据库的问题!
- 大家能将这段asp程序改为php的,或推荐一个php的flash留言版都送分
- Ubuntu系统php进程资源占用正常吗,要怎么样查到是那个程序占用资源最多?
- 之前单独下载的MySQL,后来安装了phpStudy,就把之前的删除了,确出现了
- 急救!PHP如何向ASP页面传递变量
- 简单的css问题
//自定义函数
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>";
?>