PHP函数、文件包含简介

一、函数

函数本质就是一段代码

在函数的代码中,通常是用于完成一个需要重复执行的操作

同故宫使用函数,可以将哪些需要重复执行的操作,定义成一个函数名,当需要执行这些操纵的时候,直接调用这个函数名就可以

通过函数,最大的作用就是可以实现代码的复用

函数的特性 

1、函数名不区分大小写【关键字不区分大小写,变量名分区大小写】 

2、函数定义和调用没有先后顺序【可以将调用函数的代码,写在定义函数的前面】

3、可以用funciton_exists('test1')判断函数是否存在,在if内定义函数

4、函数不会自动执行,只能在调用的时候才会去执行

5、可以自定义函数内(内部函数不会直接调用)

定义函数

在PHP中 用function 关键字来定义函数,例如

function greet($name){

        echo "HELLO:". $name . "!";

上面的代码定义了一个名为greet的函数,它带有i个参数$name,并在屏幕上输出一条问候信息,要调用此函数,可以将参数传递给它,例如:

greet("join");

函数语法 

function  函数名称(参数1,参数2. ...){

        //程序业务内容

        return 返回值;   //如虚函数有返回值时使用,否则函数返回值为null

}

 函数名称:

        他是函数在程序代码中的识别名称,函数名可以是以字母或下划线开头后跟零个或多个字母,下划线和数字的任何字符串。函数名不区分大小写

        命名函数时不可使用以声明的函数,或PHP内建的函数名称

返回值

        当调用函数时需要它返回一些数值,那么就要函数体中用return语句实现,格式如下

        return ‘返回值’;   //返回值也可以是一个表达式

2)函数返回值
 

执行函数的结果 

执行函数有俩个结果:输出结果、返回结果

输出结果

        1、就是在函数中,用echo/var_dump、print_r进行输出指定的内容

返回结果:

        2、就是在函数中,用return来返回一个值,返回结果默认是不显示的,返回结构通常是进行接受的

        3、而且函数指定到return时候,后面的代码就不会执行

        4、函数的返回值可以是任意类型

        5、函数只可以有0个或1个返回值,如果想2返回多个值可以通过返回数组或对象实现

案例:在函数返回多个值

<?php

header("content-type:text/html;charset=utf-8");

function fun1(){

        echo "==========函数开始执行===========<br>";
        echo "这是是第次执行函数<br>";
        echo "这是函数的中的内容<br>";
        $userInfo = array("tom",18,"tianjin","15633690000");
        return $userInfo;
        echo "==========函数执行结束===========<br>";


$res = fun1();
echo $res[0];
echo $res[1];
echo $res[2];
echo $res[3];

?>

3) 函数参数 

函数可以具有任意数量的参数,例如:

function fun($a,$b,$c=1){

        return  $a * $b *$c;

}

$result - multiply(2,3);

echo $result;    //输出6

$result = mutiply(2,3,4);

echo $result; // 输出24 


上面的代码定义了一个名为fun的函数,它具有两个必需参数$a和$b,以及一个可选参数$c(默 认为1)。在第一个示例中,将使用默认值计算$ a imes b imes c$,而在第二个示例中,将使用传递 的值。

4)倪敏函数 

在PHP5.3及更高版本中,可以使用匿名函数。匿名函数是没有名称的函数,例如:

$greet = function($name) {

echo "hello," .$name . "!" ;

};

$greet("John");  //输出“Hello Join!”

上面的代码创建了一个匿名函数,并将其分配给变量$greet。该函数可以像常规函数一样调用。

 二、文件包含

复杂的程序必须要分文件:

 index.php  前台 

conn.php  链接数据库的

实现文件包含/导入 

include

require 

demo1.php 文件内容 

function show() { echo "11111111111111"; }

 在 Test.php 使用

include 'demo1.php';

show();

incluede和require的区别 

当要包含的文件不存在时

        include会产生一个警告(warning),该语句后面的程序会继续执行

        require 则会产生一个致命错误(Fatal error),程序就此终止

        include 一般是放在流程控制的处理部分中。PHP程序网页在读到include的文件时,才将它读进来。这种方式,可以把程序执行时的流程简单化

        require通常放在PHP程序的最前面,PHP程序在执行前,就会先读入require所指定引入的文件,使它变成PHP程序网页的一部分。常用的哈数,一般可以用这个方法将它引入到网页中。

        include有返回值,而erquire没有 

他们两个的用途是完全一样的,不一定非得哪个放在最前面哪个放在中间。他们最根本的区别在于错误 处理的方式不一样。require一个文件存在错误的话,那么程序就会中断执行了,并显示致命错误 **include一个文件存在错误的话,那么程序不会中端,而是继续执行,并显示一个警告错误。

变量作用域 

变量能见度

所谓变量的能见度,意指变量在程序中可作用范围。当一个变量执行赋值动作后,会随着声明局部的差异,而有不同的作用范围。大致上来说变量会依据声明的局部分为以下两种:局部变量和全局变量。 

局部变量
在函数之中声明的变量就是局部变量,并且该变量只有在函数范围之中才能使用。

如果其他程序局部需要调用使用该变量值时,必须透过[return] 指令,来将其传回至主程序区块以作后续处理

1$num=1;
function p(){
$hd = 3; //定义局部变量
echo "在函数中显示局部变量\$hd值: $hd </br>";
}
p();
echo "在函数外显示变量\$hd值: $hd <br>";
1

常用内置函数 

is_string() 判断是否是字符串,如果是,则返回真

strlen() 字符串的长度

strtolower()  字符串转换为小写

strtoupper()  字符串转换为大写

ucfirst()  字符串首字母大写

ucword()  字符串首个字母大写

ucwords()  字符串每个单词首字母大写

trim()  去除掉两侧的空格

exit()

 功能:输出一个信息,并中止程序运行。
语法:void exit ([string `$status`])
举例:exit(“**程序运行出错了!”)

 
break:停止循环
return:停止函数
exit:停止程序

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/786880.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GWO-CNN-BiLSTM多输入回归预测|灰狼群算法优化的卷积-双向长短期神经网络|Matlab

目录 一、程序及算法内容介绍&#xff1a; 基本内容&#xff1a; 亮点与优势&#xff1a; 二、实际运行效果&#xff1a; 三、算法介绍&#xff1a; 四、完整程序下载&#xff1a; 一、程序及算法内容介绍&#xff1a; 基本内容&#xff1a; 本代码基于Matlab平台编译&…

超声波清洗机能洗哪些东西?适合洗眼镜超声波清洗机排行榜

在现代生活的忙碌节奏中&#xff0c;寻找高效而又便捷的清洁解决方案成为了众多家庭的追求。超声波清洗机&#xff0c;作为一种革新的清洁设备&#xff0c;以其深入细微、温和而高效的清洗方式&#xff0c;赢得了广泛的关注和好评。它能够操作简便地清洁各种物品&#xff0c;从…

《编程菜鸟学 Python 数据分析》让工作自动化起来!

随着我国企业数字化和信息化的深入&#xff0c;企业对办公自动化的效率和灵活性要求越来越高。Python作为一种开源的软件应用开发方式&#xff0c;通过提供强大丰富的库文件包&#xff0c;极大地简化了应用开发过程&#xff0c;降低了技术门槛。Python开发有哪些优势、挑战以及…

【A-006】基于SSH的新闻发布系统(含论文)

【A-006】基于SSH的新闻发布系统&#xff08;含论文&#xff09; 开发环境&#xff1a; Jdk7(8)Tomcat7(8)MySQLIntelliJ IDEA(Eclipse) 数据库&#xff1a; MySQL 技术&#xff1a; SpringStruts2HiberanteJSPJquery 适用于&#xff1a; 课程设计&#xff0c;毕业设计&…

fpga_hdmi

HDMI简介: 高清晰度多媒体端接口&#xff0c;通常用来连接一些音视频设备&#xff0c;进行高质量的传输&#xff0c;能够同时传输音频信号和视频信号。而且在传输速度上具有较大的优势。 通过hdmi接口进行数据传输时&#xff0c;不需要切换模块&#xff0c;或者提前设置转换。…

SWM341系列应用(USB应用)

1、测SWM341的主机功能&#xff0c;需要注意&#xff1a; SWM341的Host功能只支持Full Speed通信&#xff0c;好多U盘和tf读卡器都只支持High Speed&#xff0c;341无法与之通信 另外&#xff0c;测SWM341 Host的HID_Mouse例程时&#xff0c;好多鼠标都是Low Speed的&#xf…

OpenAI 终于想起GPT Store付费计划

OpenAI 终于想起GPT Store付费计划。 开发者用GPT模型做出有价值的东西&#xff0c;OpenAI就会根据这个价值给他们支付费用。 OpenAI想通过这个方式激励开发者&#xff0c;让他们更积极地参与到GPT的生态系统建设中来。 目前&#xff0c;这个计划是在美国的开发者中进行测试…

【洛谷】P9240 [蓝桥杯 2023 省 B] 冶炼金属

题目链接 P9240 [蓝桥杯 2023 省 B] 冶炼金属 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 思路 这道题可以用数学的方法去做&#xff0c;但是我想不到&#x1f607;有兴趣的可以去看看数学的题解 比较简单的思路就是二分查找&#xff0c;轻松简单不费脑&#xff0c;带你…

NOSQL - Redis的简介、安装、配置和简单操作

目录 一. 知识了解 1. 关系型数据库与非关系型数据库 1.1 关系型数据库 1.2 非关系型数据库 1.3 区别 1.4 非关系型数据库产生背景 1.5 NOSQL 与 SQL的数据记录对比 2. 缓存相关知识 2.1 缓存概念 2.2 系统缓存 2.3 缓存保存位置及分层结构 二 . redis 相关知识 1.…

【tcpdump 命令】

tcpdump 命令 概述常见用法执行 tcpdump -h 就能看见了。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/0694be5e8e0647ab929b116488ee74ef.png) 每个参数的详细解释&#xff1a;见[菜鸟教程](https://www.runoob.com/linux/linux-comm-tcpdump.html)。 tcpdump …

SAM中离线使用bert-base-uncased的方法

下载huggingface-bert-base-uncased中列出的必要文件&#xff0c;包括config.json、flax_model.msgpack、pytorch_model.bin、tf_model.h5、tokenizer.json、tokenizer_config.json、vocab.txt。 步骤2&#xff1a;将下载的文件&#xff08;步骤1中的文件&#xff09;放入你的…

《手把手教你》系列技巧篇(六十六)-java+ selenium自动化测试 - 读写excel文件 - 上篇(详细教程)

1.简介 在自动化测试&#xff0c;有些我们的测试数据是放到excel文件中&#xff0c;尤其是在做数据驱动测试的时候&#xff0c;所以需要懂得如何操作获取excel内的内容。由于java不像python那样有直接操作Excle文件的类库&#xff0c;所以我们必须借助第三方工具&#xff1a;P…

【wu-acw-client 使用】案例

wu-acw-client 使用 项目介绍&#xff0c;使用acw-client&#xff0c;创建对应Java项目的增删改查&#xff08;ORM&#xff1a;Lazy ORM、mybatis&#xff09;&#xff0c;项目模块架构&#xff1a;mvc、feign、ddd 演示项目环境&#xff1a;idea 、mac、mysql、jdk17 spring …

直播回顾 | 康谋ADAS仿真与HiL测试研讨会圆满收官,精彩内容全解析,精选QA放送!

AI助力ADAS仿真测试&#xff1a;康谋HiL测试线上直播研讨会圆满收官&#xff01; 本次研讨会特邀知名主机厂和智能驾驶公司的仿真测试领域专业技术工程师&#xff0c;聚焦ADAS仿真系统开发与智能驾驶系统测试&#xff0c;并针对测试流程和挑战&#xff0c;深入讲解了康谋自动驾…

Redis的基础命令集详解

以下是按照Redis中的数据类型分类的基础命令集 字符串操作命令&#xff1a; 命令描述示例SET key value设置指定 key 的值为 valueSET name JohnGET key获取指定 key 的值GET nameDEL key删除指定 key 及其对应的值DEL name 哈希表操作命令&#xff1a; 命令描述示例HSET k…

Jquery——js库

1. jQuery 基础操作 jQuery 是一个快速、小巧的 JavaScript 库&#xff0c;设计用于简化 HTML 文档的遍历、事件处理、动画设计和 Ajax 交互。jQuery 使用户能够更快地编写 JavaScript 代码&#xff0c;并且能够更容易地处理 HTML 文档、事件、动画和 Ajax。 加载 jQuery 要…

343. 整数拆分(力扣LeetCode)

文章目录 343. 整数拆分题目描述动态规划 343. 整数拆分 题目描述 给定一个正整数 n &#xff0c;将其拆分为 k 个 正整数 的和&#xff08; k > 2 &#xff09;&#xff0c;并使这些整数的乘积最大化。 返回 你可以获得的最大乘积 。 示例 1: 输入: n 2 输出: 1 解释:…

物联网监控可视化是什么?部署物联网监控可视化大屏有什么作用?

随着物联网技术的深入应用&#xff0c;物联网监控可视化成为了企业数字化转型的关键环节。物联网监控可视化大屏作为物联网监控平台的重要组成部分&#xff0c;能够实时展示物联网设备的运行状态和数据&#xff0c;为企业管理决策和运维监控提供了有力的支持。今天&#xff0c;…

bizcharts中LineChart时间戳使用moment转化出现Invalid Date

文章目录 一、前言1.1、问题1.2、解决 二、bizcharts三、moment.js四、在线源码五、最后 一、前言 1.1、问题 最近在使用bizcharts绘制折线图LineChart的时候&#xff0c;发现X轴的时间显示成了Invalid Date。如下图所示&#xff1a; 发现是后端返回了时间戳字符串"1572…

联发科成功在天玑 9300 芯片部署大模型;小米SU7车载“小爱大模型”语音交互技术

&#x1f989; AI新闻 &#x1f680; 联发科成功在天玑 9300 芯片部署大模型 摘要&#xff1a;联发科宣布&#xff0c;在天玑 9300 等旗舰芯片上首次实现大模型&#xff08;通义千问&#xff09;的深度适配&#xff0c;能够在离线状态下运行多轮 AI 对话。此外&#xff0c;阿…