PHP之——函数的使用

<?php

自定义函数:

将课重复使用的代码用指定函数名的函数封装起来,使用函数名调用,函数名不能重复,函数名不区分大小写, 函数的声明的时候传的参数是形参,没有具体值;当函数调用的使用传递参数,

function 函数名([参数列表]){};

 function sum(){ echo 3+4; }function sum1($a,$b){ echo $a+$b; } sum(); echo '';sum1(4,5);function mul($a,$b){ return $a*$b;} echo '';echo mul(3,5);echo ''; 

参数可以设置默认值,设置默认值后改参数就变为可选参数,不传使用默认值,传了使用传递的值,所有的默认值参数都要放参数列表的后面

 function stuinfo($age,$name,$sex='男'){ echo $name.'的年龄为:'.$age.',性别为:'.$sex; } stuinfo(12,'小明','女'); 

//引用赋值

function sum2(&$a,$b){ $a++; echo $a+$b; } echo ''; 
$a=10; $b=20; 
echo sum1($a,$b); 
echo ''; 
echo $a; 
echo ''; 
echo sum2($a,$b); 
echo '';echo $a;echo ''; echo '------------------------
'; 
x=10; $y=20; 
function calc(){ 
global $x,$y;#使用全局变量需要在局部再用global声明一次 
echo $x+$y; }function calc1(){$x=$GLOBALS['x'];$y=$GLOBALS['y']; echo $x+$y; // 局部变量只能在局部使用,在当前作用域外不能使用 
} echo calc(); echo ''; 
echo calc1(); 
echo '------------------------
';

静态变量:默认函数调用完毕后所有的变量都会自动释放。

如果希望某个变量函数下一次调用时以上一次调用完后的值继续使用,就将改变量声明为静态变量,会保留当前变量不会释放,使用static关键字

function nums(){$i=1; echo $i; echo ''; ++$i; 
} 
nums(); 
nums(); 
nums(); 
nums(); 
echo ''; 
function nums1(){static $i=1; echo $i; echo ''; ++$i; } nums1(); nums1(); nums1(); nums1(); echo '
------------------------
'; 
function action(){echo '这是可变函数调用结果';} //即,调用action() $res='action'; $res(); echo '
------------------------
';  //匿名函数 
$sum3=function ($a,$b){ 
return $a+$b; 
}; 
echo $sum3(3,4);
echo '
------------------------
';echo strlen('中国'); echo ''; echo strlen('aaa'); echo ''; 

获取指定字符串的位置的下标 获取首次出现的字符下标:

echo ''.strpos('hellow world','o'); echo ''; 

获取最后一次出现的字符下标:

echo ''.strrpos('hellow world','o'); echo ''; 

去除指定字符串后数组中的指定字符

str_replace(‘要被替换的值’,‘替换的值’,‘要被替换的字符串’);

使用空格去掉感叹号:

echo ''.str_replace('!',' ','a!bcd!d'); echo ''; 

使用逗号去掉感叹号:

echo ''.str_replace('!',',','a!bcd!d'); echo ''; 

字符串截取:

substr(要截取的字符串,起始下标,[截取的长度]);

取指定的字符串:

 echo ''.substr('abcddfd','2','3'); echo ''; 

去除首位空格:

echo ''.trim(' a b c '); echo '';

返回事件的秒数:

echo ''.time(); echo ''; 
echo mktime(12,10,20,5,21,2021); echo '';
echo date('Y-m-d H:s:i',time()); echo '';
print_r(str_split('hellow seaoct rworld',5)); echo ''; 

字符串分割

explode(需要分割的部分,需要分割的字符串,[规定所返回的数组元素的数目])

//大于 0 - 返回包含最多 limit 个元素的数组
//小于 0 - 返回包含除了最后的 -limit 个元素以外的所有元素的数组
//0 - 返回包含一个元素的数组

print_r(explode(' ','hellow world')); echo ''; 
print_r(explode(' ','hellow world',0)); echo ''; 
print_r(explode(' ','hellow world',-1)); echo '';
print_r(explode(' ','hellow world',1)); echo ''; 
print_r(explode(' ','hellow world',2)); echo ''; 
print_r(explode(' ','hellow world',3));echo ''; 

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

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

相关文章

类上单例的写法

#region 单例private static T _instance;public static T Instace{get{if (_instance null){_instance FindObjectOfType<T>();}return _instance;}}#endregion

Java ThreadLocal 源码解析

前言 ThreadLocal 是 Java 语言中的一个类&#xff0c;可以使用它为每个线程存储数据。这些数据只能被当前线程访问&#xff0c;而其他线程无法访问。这个类可以用于避免多次传递、线程间数据隔离、事务操作等场景。 本次源码分析基于 JDK 21.0.1。 ThreadLocal 使用简介 基…

vue-cli3/webpack打包时去掉console.log调试信息

文章目录 前言一、terser-webpack-plugin是什么&#xff1f;二、使用配置vue-cli项目 前言 开发环境下&#xff0c;console.log调试信息&#xff0c;有助于我们找到错误&#xff0c;但在生产环境&#xff0c;不需要console.log打印调试信息&#xff0c;所以打包时需要将consol…

servlet+jdbc实现用户注册功能

一、需求 在Servlet中可以使用JDBC技术访问数据库&#xff0c;常见功能如下&#xff1a; 查询DB数据&#xff0c;然后生成显示页面&#xff0c;例如&#xff1a;列表显示功能。接收请求参数&#xff0c;然后对DB操作&#xff0c;例如&#xff1a;注册、登录、修改密码等功能。…

前端基本性能指标及lighthouse使用

文章目录 1、基本指标介绍2、Performace分析2.1 performance属性2.2 使用performace计算2.3 Resource Timing API2.4 不重复的耗时时段区分2.5 其他组合分析2.6 JS 总加载耗时2.7 CSS 总加载耗时 3、lighthouse基本使用3.1 使用Chrome插件lighthouse3.2 使用Chrome浏览器开发者…

【操作系统】测试四

文章目录 单选题填空题 单选题 在一个可变分区存储管理中&#xff0c;最佳适应算法是将空闲区表中的空闲区按【 正确答案: C】的次序排列。 A. 地址递增 B. 地址递减 C. 大小递增 D. 大小递减 动态重定位是在【 正确答案: B】进行的重定位。 A. 作业执行前 B. 作业执行过程中 …

【黄啊码】宝塔设置默认php版本无效?

宝塔面板切换默认PHP版本1.情形描述&#xff1a; 我在执行composer install 时提示PHP版本太低&#xff0c;查看了一下宝塔面板的PHP版本&#xff0c;发现有两个一个5.6一个7.3。虽然php5.6版本已经暂停了&#xff0c;但是执行composer install还是提示版本太低。 然后根据网…

信息泄露总结

文章目录 一、备份文件下载1.1 网站源码1.2 bak文件泄露1.3 vim缓存1.4 .DS_Store 二、Git泄露2.1 git知识点2.1 log2.2 stash 三、SVN泄露3.1 SVN简介3.2 SVN的文件3.3 SVN利用 四、Hg泄露 一、备份文件下载 1.1 网站源码 常见的网站源码备份文件后缀&#xff1a; tartar.gz…

hyperf console 执行

一、原理描述 hyperf中&#xff0c;不难发现比如自定义控制器中获取参数&#xff0c;hyperf.php中容器获取&#xff0c;传入的都是接口&#xff0c;而不是实体类。 这是因为框架中的配置文件有设置对应抽象类的子类&#xff0c;框架加载的时候将其作为数组&#xff0c;使用的…

零基础学Java第二天

复习回顾&#xff1a; 1.dos命令 dir 显示当前文件夹下面的所有的文件和文件夹 cd 切换目录的 mkdir 创建文件夹的 rd 删除文件夹的 del 删除文件 D: 切换盘符 cls 清屏 2.书写Java代码换行打印《静夜诗》这首古诗 class Demo1 { …

深入理解 C# 中的字符串比较:String.CompareTo vs String.Equals

深入理解 C# 中的字符串比较&#xff1a;String.CompareTo vs String.Equals 在处理字符串时&#xff0c;了解如何正确比较它们对于编写清晰、有效和可靠的 C# 程序至关重要。本文将深入探讨 C# 中的两个常用字符串比较方法&#xff1a;String.CompareTo 和 String.Equals&…

Mybatis行为配置之Ⅲ—其他行为配置项说明

专栏精选 引入Mybatis Mybatis的快速入门 Mybatis的增删改查扩展功能说明 mapper映射的参数和结果 Mybatis复杂类型的结果映射 Mybatis基于注解的结果映射 Mybatis枚举类型处理和类型处理器 再谈动态SQL Mybatis配置入门 Mybatis行为配置之Ⅰ—缓存 Mybatis行为配置…

电子工程师如何接私活赚外快?

对电子工程师来说&#xff0c;利用业余时间接私活是个很常见的技术&#xff0c;不仅可以赚取额外收入&#xff0c;也能提升巩固技术&#xff0c;可以说国内十个工程师&#xff0c;必有五个在接私活养家糊口&#xff0c;如果第一次接私活&#xff0c;该如何做&#xff1f; 很多工…

再升级|川石教育鸿蒙应用开发4.0教程发布

全新鸿蒙蓄势待发 HarmonyOS是一款面向未来的全场景分布式智慧操作系统。 对于消费者而言&#xff0c;HarmonyOS用一个统一的软件系统从根本上解决消费者面对大量智能终端体验割裂的问题&#xff0c;为消费者带来统一、便利、安全的智慧化全场景体验。 对于开发者而言&#xf…

十二:爬虫-Scrapy框架(上)

一&#xff1a;Scrapy介绍 1.Scrapy是什么&#xff1f; Scrapy 是用 Python 实现的一个为了爬取网站数据、提取结构性数据而编写的应用框架(异步爬虫框架) 通常我们可以很简单的通过 Scrapy 框架实现一个爬虫&#xff0c;抓取指定网站的内容或图片 Scrapy使用了Twisted异步网…

15. Mysql 变量的使用

目录 变量的概述自定义变量系统变量查看系统变量系统变量赋值 局部变量总结参考资料 变量的概述 MySQL支持不同类型的变量&#xff0c;包括自定义变量、系统变量和局部变量。自定义变量是在会话中定义的变量&#xff0c;用于存储临时数据。系统变量是MySQL服务器提供的全局变量…

【C#】关于事件的使用ii,eg:{婚礼策划公司的组织者}

场景&#xff1a; 假设你是一家婚礼策划公司的组织者&#xff0c;你需要安排婚礼的各个方面&#xff0c;如音乐、鲜花、照片等。 事件的用法&#xff1a; 你创建了一个婚礼策划事件&#xff0c;并邀请了音乐师、花店、摄影师等作为订阅者。当婚礼日期临近时&#xff0c;你触发婚…

(切图笔记)layui表格单元格添加超链接 以及传参方法 亲测可用 附代码

layui在切图网日常的工作中常常用到&#xff0c;特别是它的layer弹窗&#xff0c;基本可以满足网站切图时候遇到的绝大多数弹窗的情况&#xff0c;参数比较丰富 灵活&#xff0c;是不可多得的网页插件之一&#xff0c;我见很多人说layui过时了&#xff0c;这是相比于vue正流行的…

Linux创建Macvlan网络

最近在看Docker的网络&#xff0c;测试Macvlan部分时&#xff0c;发现Docker创建Macvlan与预期测试结果不一样。所以查阅了Linux下配置Macvlan&#xff0c;记录如下。 参考 1.Linux Macvlan 2.图解几个与Linux网络虚拟化相关的虚拟网卡-VETH/MACVLAN/MACVTAP/IPVLAN 3.创建ma…

Java8 - 更优雅的字符串连接(join)收集器 Collectors.joining

Java8中的字符串连接收集器 在JDK8中&#xff0c;可以采用函数式编程&#xff08;使用 Collectors.joining 收集器&#xff09;的方式对字符串进行更优雅的连接。 Collectors.joining 收集器 支持灵活的参数配置&#xff0c;可以指定字符串连接时的 分隔符&#xff0c;前缀 和…