`
redsky008
  • 浏览: 346295 次
  • 性别: Icon_minigender_1
  • 来自: 成都正在项目
社区版块
存档分类
最新评论

第四章 2/2 函数的任意参数、默认参数、递归函数、重用函数、内部函数

阅读更多
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”;
?>
分享到:
评论

相关推荐

    6.Python函数定义及使用.pptx

    Python程序设计 函数定义 函数调用 函数的理解与定义 6全文共51页,当前为第4页。 函数的理解与定义 函数的定义 求取包含10个斐波那契数 6全文共51页,当前为第5页。 函数的理解与定义 函数的定义 如何让代码按照...

    php学习笔记之 函数声明(二)

    重用函数 * * require:用于静态包含 * include:用于动态包含 * require_once:用于静态包含,只包含一次 * include_once:用于动态包含,只包含一次 * * 4.一些系统函数的使用 * 资源=opendir(“目录名”) * readdir...

    Perl5语言全教程

    第四章 列表和数组变量 一、列表 二、数组--列表的存贮 1、数组的存取 2、字符串中的方括号和变量替换 3、列表范围 4、数组的输出 5、列表/数组的长度 6、子数组 7、有关数组的库函数 第五章 文件读写 ...

    perl 程序开发教程

    第四章 列表和数组变量 一、列表 二、数组--列表的存贮 1、数组的存取 2、字符串中的方括号和变量替换 3、列表范围 4、数组的输出 5、列表/数组的长度 6、子数组 7、有关数组的库函数 第五章 文件读写 ...

    python进阶1.5:函数的使用.zip

    如果在开发程序时,需要某块代码多次,但是为了提高编写的效率以及代码的重用,所以把具有独立功能的代码块...4种函数的类型 ,函数的嵌套调用,递归函数等相关函数用法视频。更多资源关注微信公众号:深度学习社区DLC

    JavaScript经典实例

     第4章使用Number和Math  4.0简介  4.1保持一个递增的计数  4.2把十进制数转换为一个十六进制值  4.3创建一个随机数生成器  4.4随机产生颜色  4.5把表中的字符串转换为数字  4.6把表中一列的所有数字加和  ...

    PHP和MySQL WEB开发(第4版)

    第4章 字符串操作与正则表达式 4.1 创建一个示例应用程序:智能表单邮件 4.2 字符串的格式化 4.2.1 字符串的整理:chop()、ltrim()和trim() 4.2.2 格式化字符串以便显示 4.2.3 格式化字符串以便存储:addslashes()和...

    PHP和MySQL Web开发第4版pdf以及源码

    第4章 字符串操作与正则表达式 4.1 创建一个示例应用程序:智能表单邮件 4.2 字符串的格式化 4.2.1 字符串的整理:chop()、ltrim()和trim() 4.2.2 格式化字符串以便显示 4.2.3 格式化字符串以便存储:...

    PHP和MySQL Web开发第4版

    第4章 字符串操作与正则表达式 4.1 创建一个示例应用程序:智能表单邮件 4.2 字符串的格式化 4.2.1 字符串的整理:chop()、ltrim()和trim() 4.2.2 格式化字符串以便显示 4.2.3 格式化字符串以便存储:...

    SQLServer2000高级编程技术(part02)-想学存储过程 SQL编程 务必要看

    第4章 Transact-SQL编程基础 4.1 TSQL标识符 4.2 数据库对象限定词 4.3 数据类型 4.3.1 数据类型的分组 4.3.2 数据类型的同义词 4.3.3 用户定义的数据类型 4.4 变量 4.4.1 局部变量 4.4.2 全局变量 4.4.3 table(表)...

    SQLServer2000高级编程技术-已添加书签,想学存储过程、SQL编程务必要看,分析非常透彻

    第4章 Transact-SQL编程基础 4.1 TSQL标识符 4.2 数据库对象限定词 4.3 数据类型 4.3.1 数据类型的分组 4.3.2 数据类型的同义词 4.3.3 用户定义的数据类型 4.4 变量 4.4.1 局部变量 4.4.2 全局变量 4.4.3 table(表)...

    SQL Server 2008高级程序设计 2/6

    第4章 XML集成  4.1 XML数据类型  4.2 提取XML格式的关系数据  4.3 有关XML索引的提示  4.4 层次数据概述  4.5 小结 第5章 细心推敲,大胆设计  5.1 进一步了解规范化  5.2 关系  5.3 图表  5.4 ...

    语言程序设计课后习题答案

    第 一 章 概述 1-1 简述计算机程序设计语言的发展历程。 解: 迄今为止计算机程序设计语言的发展经历了机器语言、汇编语言、高级语言等阶段,C++语言是一种面向对象的编程语言,也属于高级语言。 1-2 面向对象的...

    C++数据抽象和问题求解(第6版).[美]Frank M. Carrano(带详细书签).pdf

    第4章 基于链表的实现 129 4.1 预备知识 130 4.2 ADT包的基于链表的实现 133 4.2.1 头文件 134 4.2.2 定义核心方法 135 4.2.3 实现更多方法 138 4.3 在基于链表的实现中使用递归 143 4.4 测试多个ADT实现 145...

    Oracle9i的init.ora参数中文说明

    Oracle9i初始化参数中文说明 Blank_trimming: 说明: 如果值为TRUE, 即使源长度比目标长度 (SQL92 兼容) 更长, 也允许分配数据。 值范围: TRUE | FALSE 默认值: FALSE serializable: 说明: 确定查询是否获取表级...

    AIC的Java课程1-6章

    第4章 面向对象(封装) 4课时  理解类封装属性(数据成员)和行为(方法成员),区别类和对象。  能够定义类,创建类的对象(实例化类)和通过对象引用访问数据成员和方法成员;形成定义类和使用类...

Global site tag (gtag.js) - Google Analytics