0

0

php函数入门基础知识有哪些?

coldplay.xixi

coldplay.xixi

发布时间:2020-06-22 10:34:07

|

4401人浏览过

|

来源于php中文网

原创

php函数入门基础知识有哪些?

推荐教程:《php教程

php函数入门基础知识有哪些?

php函数入门基础知识有:

1、函数的声明

立即学习PHP免费学习笔记(深入)”;

function 函数名([参数1,参数2...])
{
函数体;
return 返回值;
}

2、使用双层for循环输出表格

function table(){
echo "<table align='center' border='1px' width='600px'>";
echo "<caption><h1>通过函数输出表格</h1></caption>";
for($out=0;$out<10;$out++){
$bgcolor = $out%2 == 0 ? "#FFFFFF" : "#DDDDDD";
echo "<tr bgcolor=".$bgcolor.">";
for($in=0;$in<10;$in++){
echo "<td>".$out*10+$in."</td>";
}
echo "</tr>";
}
echo "</table>";
}

3、函数tabel()改写

function table($tableName,$rows,$cols){
echo "<table align='center' border='1px' width='600px'>";
echo "<caption><h1>$tableName</h1></caption>";
for($out=0;$out<$rows;$out++){
$bgcolor = $out%2 == 0 ? "#FFFFFF" : "#DDDDDD";
echo "<tr bgcolor=".$bgcolor.">";
for($in=0;$in<$cols;$in++){
echo "<td>".($out*$cols+$in)."</td>";
}
echo "</tr>";
}
echo "</table>";
}
table("此时你是我的唯一",5,3);

4、PHP变量的范围 (分为局部变量和全局变量)

       局部变量也称为内部变量,是在函数内部声明的变量,其作用域仅限于函数内部。

       局部变量从存储方式上可分为动态存储类型和静态存储类型。函数中的局部变量,如果专门声明为static存储类别,默认都是动态地分配存储空间的。

     其中的内部动态变量在函数调用结束后自动释放。如果希望在函数执行后,其内部变量依然保存在内存中,应使用静态变量。在函数执行完毕后,静态变量并不会消失,而是在所有对该函数的调用之间共享,即在函数再次执行时,静态变量将接续前次的结果继续运算,并且仅在脚本的执行期间函数第一次被调用时被初始化。要声明函数变量为静态的,需要关键字static。自行理解!

function demo($one){
$two = $one;
echo "在函数内部执行:$two+$one=".($two+$one)."<br/>";
}
demo(200);
echo "在函数外部执行:$two+$one=".($two+$one);   //非法访问

全局变量也称外部变量,是在函数的外部定义的,他的作用域变量定义处开始,到本程序文的结尾。

在函数中若要使用全局变量,必须要利用global关键字定义目标变量,以告诉函数主体此变量为全局变量。

$one = 200;
$two = 100;
function demo(){
//在函数内部使用global关键字加载全局变量$one和$two
global $one,$two;
echo "运算结果:$two+$one=".($two+$one)."<br/>"; //300
echo "运算结果:".($GLOBAL['two']+$GLOBAL['one'])."<br/>"; 
 
}

5、PHP函数参数的种类

(1)常规参数的函数

string example(string name,int age,double height)

(2)伪类型参数的函数:

PHP的伪类型:mixed number callback 三种

mixed funName(mixed $args)

number funName(number $args)

(3)引用参数的函数:

如果函数中的形参中有使用"&"修饰的参数,则在调用该函数时就必须传入一个变量给这个参数,而不能传递一个值。

void funName(array $&arg)

(4)默认参数的函数:

医院网站系统
医院网站系统

HTML医院网站系统基于PHP+MYSQL开发,在文章内容网站的基础上,预设了医院概况、新闻动态、环境设备、名医荟萃、专科介绍、就医指南、专家门诊值班表、网上挂号、医疗保健知识、在线咨询等医院网站常用的栏目和测试数据,采用适合医院网站的专用模版,增强了系统的针对性和易用性。系统具有文章、图文、下载、社区、表单、用户等基本系统模块和一系列网站辅助功能,用户也可根据自身特点任意创建和修改栏目,适合创建

下载

默认值必须是常量表达式,不能是变量、类成员或者函数调用。PHP允许使用数组和特殊类型NULL作为默认参数。

mixed funName(string name[,string value[,int age]]) // 在参数列表中出现使用[]描述的参数
function person($name="张三",$age=20,$sex="男"){
echo "我的名字是:{$name},我的年龄是{$age},我的性别是{$sex}<br/>";
}

(5)可变个数参数的函数:

func_get_args();//将所有传递给脚本的函数的参数当作一个数组返回

func_num_args();//返回参数的总数

mixed func_get_arg(int $arg_num);//返回参数列表的某一项(0.....)

(6)mixed funName(string arg[,string ...])回调函数:函数参数为一个函数

mixed funName(callback arg)    //在参数列表中使用伪类型callback描述了解变量函数、使用变量函数声明和应用回调函数,借助call_user_func_array()函数自定义回调函数,类静态函数和对象的方法回调;

//变量函数不能用于语言结构,例如echo()
//print()、unset()、isset()、empty()
//include()、require()及类似的语句       
        function one($a,$b){
return $a+$b;
}
function two($a,$b){
return $a+$b+$b*$b;
}
function three($a,$b){
rerurn $a*$a*$a+$b*$b*$b;
}
$result = "one";
//$result = "two";
//$result = "three";
echo $result(1,2);
function filter($fun){
$fun();
}
function test(){
echo "haha!";
}
function test2(){
echo "houhou!";
}
filter("test");
filter("test2");//haha!houhou!
function fun($msg1,$msg2){
echo '$msg1='.$msg1;
echo '<br/>';
echo '$msg2='.$msg2;
}
call_user_func_array('fun',array('Lamp','兄弟连'));
//类静态调用和对象的方法调用
class Demo{
static function fun($msg1,$msg2){
echo '$msg1='.$msg1;
echo '<br/>';
echo '$msg2='.$msg2;
}
}
class Test{
function fun($msg1,$msg2){
echo '$msg1='.$msg1;
echo '<br/>';
echo '$msg2='.$msg2;
}
}
//类静态调用
call_user_func_array(array('Demo','fun'),array('Lamp','兄弟连'));
//对象的方法调用
call_user_func_array(array(new Test(),'fun'),array('Lamp','兄弟连'));

callback("函数名称字符串");  //回调全局函数

callback(array("类名称字符串","类中静态方法名称字符串"));//回调类中的静态成员方法

callback(array(对象引用,"对象中方法名称字符串");//回调对象中的静态成员方法

递归函数:函数调用自身

6、使用自定义函数库

函数库并不是定义函数的PHP语法,而是编程时的一种设计模式。函数是结构化程序设计的模块,是实现代码重用的最重要的核心。为了更好的组织代码,使自定义的函数可以在同一个项目的多个文件中使用,通常将多个自定义的函数组织到同一个文件或多个文件中。这些收集函数定义的文件就是创建的PHP函数库。如果在PHP的脚本中想使用这些文件中定义的函数,就需要使用include、require、include_once、require_once中的一个函数,将函数库文件载入到脚本程序中。

include和require语句,都是包括并运行指定文件。不同之处在于,对include语句来说,在执行文件时每次都要进行读取和评估;而对require来说,文件只处理一次

(实际上,文件内容替换了require语句),这就意味着如果可能执行多次的代码,则使用require效率比较高。另外,如果每次执行代码时,读取不同的文件,或者有通过一组

文件迭代的循环,就是用include语句。

require 的使用方法如 require("MyRequireFile.php"); 。这个函数通常放在 PHP 程序的最前面,PHP 程序在执行前,就会先读入 require 所指定引入的文件,使它变成 PHP 程序网页的一部份。常用的函数,亦可以这个方法将它引入网页中。

include 使用方法如 include("MyIncludeFile.php"); 。这个函数一般是放在流程控制的处理部分中。PHP 程序网页在读到 include 的文件时,才将它读进来。这种方式,可以把程序执行时的流程简单化。

他们两个的用途是完全一样的,不一定非得哪个放在最前面哪个放在中间。他们最根本的区别在于错误处理的方式不一样。

require一个文件存在错误的话,那么程序就会中断执行了,并显示致命错误

include一个文件存在错误的话,那么程序不会中端,而是继续执行,并显示一个警告错误。

推荐相关文章:《php图文教程

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
string转int
string转int

在编程中,我们经常会遇到需要将字符串(str)转换为整数(int)的情况。这可能是因为我们需要对字符串进行数值计算,或者需要将用户输入的字符串转换为整数进行处理。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

1010

2023.08.02

c语言中null和NULL的区别
c语言中null和NULL的区别

c语言中null和NULL的区别是:null是C语言中的一个宏定义,通常用来表示一个空指针,可以用于初始化指针变量,或者在条件语句中判断指针是否为空;NULL是C语言中的一个预定义常量,通常用来表示一个空值,用于表示一个空的指针、空的指针数组或者空的结构体指针。

254

2023.09.22

java中null的用法
java中null的用法

在Java中,null表示一个引用类型的变量不指向任何对象。可以将null赋值给任何引用类型的变量,包括类、接口、数组、字符串等。想了解更多null的相关内容,可以阅读本专题下面的文章。

1089

2024.03.01

java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

1566

2023.10.24

require的用法
require的用法

require的用法有引入模块、导入类或方法、执行特定任务。想了解更多require的相关内容,可以阅读本专题下面的文章。

509

2023.11.27

全局变量怎么定义
全局变量怎么定义

本专题整合了全局变量相关内容,阅读专题下面的文章了解更多详细内容。

93

2025.09.18

python 全局变量
python 全局变量

本专题整合了python中全局变量定义相关教程,阅读专题下面的文章了解更多详细内容。

106

2025.09.18

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

760

2023.08.03

C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

76

2026.03.11

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

相关下载

更多

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 13.3万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 11.3万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 1.0万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号