php 自定义条件,php如何自定义一个方法
在PHP中可以通过【function foo($arg_1, $arg_2, /* ..., */ $arg_n){echo "Example function.\n";return $retval;}】形式定义一个方法。
用户自定义函数
一个函数可由以下的语法来定义:
Example #1 展示函数用途的伪代码<?php
function foo($arg_1, $arg_2, /* ..., */ $arg_n)
{
echo "Example function.\n";
return $retval;
}
?>
任何有效的 PHP 代码都有可能出现在函数内部,甚至包括其它函数和类定义。
函数名和 PHP 中的其它标识符命名规则相同。有效的函数名以字母或下划线打头,后面跟字母,数字或下划线。可以用正则表达式表示为:^[a-zA-Z_\x80-\xff][a-zA-Z0-9_\x80-\xff]*$。
Tip
请参见用户空间命名指南。
函数无需在调用之前被定义,除非是下面两个例子中函数是有条件被定义时。
当一个函数是有条件被定义时,必须在调用函数之前定义。
Example #2 有条件的函数<?php
$makefoo = true;
/* 不能在此处调用foo()函数,
因为它还不存在,但可以调用bar()函数。*/
bar();
if ($makefoo) {
function foo()
{
echo "I don't exist until program execution reaches me.\n";
}
}
/* 现在可以安全调用函数 foo()了,
因为 $makefoo 值为真 */
if ($makefoo) foo();
function bar()
{
echo "I exist immediately upon program start.\n";
}
?>
Example #3 函数中的函数<?php
function foo()
{
function bar()
{
echo "I don't exist until foo() is called.\n";
}
}
/* 现在还不能调用bar()函数,因为它还不存在 */
foo();
/* 现在可以调用bar()函数了,因为foo()函数
的执行使得bar()函数变为已定义的函数 */
bar();
?>
PHP 中的所有函数和类都具有全局作用域,可以定义在一个函数之内而在之外调用,反之亦然。
PHP 不支持函数重载,也不可能取消定义或者重定义已声明的函数。
Note: 从 A 到 Z 的 ASCII 函数名是大小写无关的,不过在调用函数的时候,使用其在定义时相同的形式是个好习惯。
PHP 的函数支持可变数量的参数和默认参数。参见 func_num_args(),func_get_arg() 和 func_get_args()。
在 PHP 中可以调用递归函数。
Example #4 递归函数<?php
function recursion($a)
{
if ($a < 20) {
echo "$a\n";
recursion($a + 1);
}
}
?>
Note: 但是要避免递归函数/方法调用超过 100-200 层,因为可能会使堆栈崩溃从而使当前脚本终止。 无限递归可视为编程错误。
php 自定义条件,php如何自定义一个方法相关推荐
- 学成在线--3.CMS页面管理开发(自定义条件查询)
文章目录 0.需求分析 1.服务端--Dao 2.服务端--Service 3.服务端--Controller 4.前端 1)page_list.vue中增加查询表单 2)page_list.vue中 ...
- java自定义一个方法,用于返回两个整数的和
java自定义一个方法,用于返回两个整数的和 /*** 自定义一个方法* 用于返回两个整数的和*/ public class Test17 {public static int getSum(int ...
- .NET/C#中对自定义对象集合进行自定义排序的方法
一个集合可否排序,要看系统知不知道排序的规则,像内建的系统类型,int ,string,short,decimal这些,系统知道怎么排序,而如果一个集合里面放置的是自定义类型,比如自己定义了一个Car ...
- SAP MM 自定义条件类型出现在采购信息记录的'条件'界面里 ?
SAP MM 自定义条件类型出现在采购信息记录的'条件'界面里 ? 我在SAP系统里复制某个标准的采购条件类型,创建了一个新的自定义条件类型ZC05,并将其分配采购定价过程RM0000. 结果却出现一 ...
- python如何自定义模块_python自定义模块和开源模块使用方法
模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才 ...
- ios开发 自定义btn_iOS一步步实现一个高度自定义UIButton控件
需求背景 日常开发中UIButton的图片与标题默认的布局是固定的,是在水平方向左右排列.但是我们会经常需要更改image和title的位置来实现需求,这是个很常见的需求就不多说了.所以下面就来谈谈如 ...
- vue自定义指令封装节流_Vue自定义指令封装节流函数的方法示例
节流函数是web前端开发中经常用到的一个开发技巧,在input实时搜索,滚动事件等,为了避免过多消耗性能,我们都会使用节流函数.在<JavaScript高级程序设计>一书中有这样的一个例子 ...
- HTML 5 的自定义 data-* 属性和jquery的data()方法的使用
HTML 5 的自定义 data-* 属性和jquery的data()方法的使用 人们总喜欢往HTML标签上添加自定义属性来存储和操作数据.但这样做的问题是,你不知道将来会不会有其它脚本把你的自定义属 ...
- android 自定义 theme,Android使用Theme自定义Activity进入退出动画的方法
本文实例讲述了Android使用Theme自定义Activity进入退出动画的方法.分享给大家供大家参考,具体如下: 有没有觉得Activity的默认动画太快了或者太难看了.. 我原来使用Activi ...
最新文章
- IPK僵尸网络 看看其传播手法
- 如何使用HTML5,CSS3和PHP创建一个联系表格
- wxWidgets:拖放样本
- Apollo核心概念
- 数据库视频(二)——增删改查
- 《netty实战》阅读笔记(2)——Netty 的数据容器ByteBuf
- python设置本机IP地址、子网掩码、DNS,获取本机IP地址、子网掩码、DNS、MAC
- python 压力测试小 demo
- JQuery 登录,记住密码,密码小眼睛
- 使用idea的maven插件自动打jar包
- 微信公众号从入门到入坑
- 用K-Means聚类分析做客户分群
- Linux radius客户端,FreeRadius客户端基础配置及测试
- Oracle RAC详解
- Win8+CentOS7双系统安装
- pil.unidentifiedimageerror: cannot identify image file
- VVC多用途视频编码标准综述与应用1
- uIP中国的协议文件:Ch01
- 我也来读jquery
- 2020最新C#顺丰丰桥平台下单接口
热门文章
- Ubuntu 安装arm-linux-gcc交叉编译工具
- 2021大同高考成绩查询,大同高考分数查询(查询方法+入口)
- linux audio(alsa)驱动注册的简明流程.
- VFS之基本数据结构
- Android中的USB中的UsbAccessory和UsbDevice的区别
- iOS camera 相关
- SpringBoot之Idea不显示项目文件夹
- Hls之http协议实现
- nand flash和nor flash区别_从闪存的发展历史看,eMMC与NAND Flash有什么区别与联系?...
- python封装成exe后运行失败_python 在编译成EXE 文件后报错 我实在是找不出原因