当前位置:首页 > 日记 > 正文

PHP中静态变量与静态变量的差异分析

PHP中静态变量与静态变量的差异分析
本文分析了PHP中静态变量与静态变量的区别,供大家参考,具体分析如下:

静态是静态对象或静态变量、实例变量或静态定义的方法的定义。

1。$ =新类(创建一个对象),然后使用- >调用:对象属性,前提是变量/可访问的方法。

2。直接调用类方法变量:类/属性,既静态又非静态,但有前提条件。

如果它是一个变量,它需要访问变量。

如果它是一种方法,除了可以访问的方法之外,还需要满足它。

(1)如果是静态方法,则没有特殊条件。

其次,如果它是非静态方法,则需要在不使用$的情况下更改该方法,也就是说,不调用静态变量或方法。当然,调用静态变量/方法是没有问题的。

然后让我们看一下对象的用法……然后使用类:……有什么区别:

1。使用对象>……你需要执行构造函数来创建一个对象。

2。使用类::……调用静态方法变量,不需要执行构造函数来创建对象。

三.使用类::……调用一个非静态方法变量,也不需要执行构造函数来创建一个对象。

然后这个奇怪的地方出来了,既然2和3是一样的,静态方法变量的存在有什么意义呢

一个静态变量:声明类成员或方法是静态的,它可以无需实例化的类直接访问,而无法访问静态成员(除了静态方法)通过对象。静态成员属于类,不属于任何对象实例,但可以共享类的对象实例。

例如,代码如下所示:

复制代码代码如下:< PHP

类人{

定义静态成员属性

公共静态$国=中国;

静态成员方法的定义

我国公共静态函数(){

内部访问静态成员属性

回声:我是。人;

}

}

班级学生延伸人{

函数研究(){

回声我。家长:$国家。人;

}

}

输出成员属性值

答:$国家;

新的人();

回声国家;错误的方式

访问静态成员方法

Person:: (myCountry); / / output: I am Chinese

静态方法也可以通过对象访问:

$ P1 ->国家();
输出属性值类成员

回声学生::$国家;

新学生();

($ t1)研究;输出:我是中国人

>

运行这个示例,输出:

中国

我是中国人

我是中国人

中国

我是中国人

摘要:访问静态成员属性或方法在类中,使用自::(注意不是自美元),代码如下:

复制代码如下:自::$国

自::我国()

使用父级:(注意不是父类)访问父类静态成员属性或方法,代码如下所示:

复制代码如下:父:$ $

家长::我国()

外部访问静态成员属性和方法是类名name子类名称:

复制代码如下:人::$国家

人::我的国家()

学生:$国家

但是静态方法也可以由普通对象访问。

作为一个例子,静态变量被声明,代码如下所示:

复制代码代码如下:< PHP

函数(){

静态$ int = 0; /更正

静态$ = 1 + 2; /错误(因为它是一个表达式)

静态变量int = sqrt(121); / /错误的(因为它是一个表达过)

元+ +;

返回值;

}

>

例如,使用静态变量的示例,代码如下所示:

复制代码代码如下:< PHP

功能测试()

{

静态w3sky = 0美元;

echo $ w3sky;

w3sky美元+ +;

}

>

现在,每次调用测试()函数将输出的w3sky美元价值和添加一个。

静态变量也提供了一种处理函数的递归的方法,递归函数是一个函数调用本身,一定要写一个递归函数,因为无限递归的可能性仍在继续,我们必须确保有足够的停止递归的方法,简单的递归函数数到10,使用静态变量确定当$计数停止。

例如静态变量和递归函数,代码如下所示:

复制代码代码如下:< PHP

功能测试()

{

静态$ = 0;
数+;

回波计数;

如果(计数为10){

测试();

}

数美元--;

}

>

注意:静态变量可以在上面的例子中声明,如果它们被赋值为声明中表达式的结果,它会导致解析错误。

希望本文能对大家的PHP程序设计有所帮助。

相关文章

PS如何改变发色PS变头发颜色教程

PS如何改变发色PS变头发颜色教程

教程,发色,颜色,电脑软件,PS,你认为头发的颜色不好吗。如果你想尝试新的染发剂,但你不知道它是如何工作的今天,萧边介绍你如何改变PS的发色,感兴趣的朋友可以跟着教程学习。 当我们通常制作非主流图片时,我们通常需要改变头发的颜色。然后PS如…

教你用自己的图案纹理制作伪装的效

教你用自己的图案纹理制作伪装的效

纹理,自己的,图案,教你用,效果,本教程是向你展示如何利用烟花图案纹理制作伪装效果的方法,文字效果非常漂亮,而且教程很难。感觉很好,转发它,与朋友分享学习。 本教程是向你展示如何利用烟花图案纹理制作伪装效果的方法,文字效果非常漂亮,而且教…

jQuery拼图游戏

jQuery拼图游戏

拼图游戏,电脑软件,jQuery,源代码分析: { { 1 }如何生成图片网格,我想有两种方法: (1)把这个大图片分成16小块,然后用img标签的src (2)只有一个大的图片,然后每个元素的背景图是削减和CSS背景位置的定位,这就需要16个数组{ 0 },{ - 150,0 },{ - 300,…

新手指南:优秀的平面设计师是如何制

新手指南:优秀的平面设计师是如何制

平面设计师,新手,优秀,指南,电脑软件,一个优秀的平面设计师如何做到这一点这篇文章是结合我自己的经验写成的。非常实用,适合初学者。 一个优秀的平面设计师如何做到这一点本设计是根据自己的收藏和文章,结合自己的经验写成的。非常实用。新…

百度互联网环境广告技巧(教程)

百度互联网环境广告技巧(教程)

互联网,教程,百度,环境,技巧,百度的广告很有技巧。我们好好谈谈吧。 最近,学生的产品用户体验团队部进行了一系列的广告环境的研究,在优化网络广告更加科学的方法,在改进的同时,互联网的用户体验,提升广告效果,广告主和用户形成一个双赢的局面。…

对DOM元素的属性属性jQuery操作详

对DOM元素的属性属性jQuery操作详

属性,方法,操作,元素,详细,jQuery中操作元素属性的方法: attr():读或写的匹配元素的属性值。 RemoveAttr():从匹配的元素中删除指定的属性。 attr()方法读取操作 attr()读操作。读取是匹配元素中第一个元素的指定属性值。 格式:.attr(属性),返回值类型:…

PS图象处理软件简单的的人成为五彩

PS图象处理软件简单的的人成为五彩

释放,的人,图象,处理软件,简单,本教程介绍朋友PS图象处理软件简单的图片的人成为五彩线释放效果的教程,比较基础,淘宝天猫设计师值得学习,以下建议按照教程一起学习吧。 本教程介绍朋友的朋友关于这个教程是PS图象处理软件简单的图片的人成为…

对http.response.write方法在Node.

对http.response.write方法在Node.

使用说明,方法,电脑软件,response,http,方法显示: 将响应内容发送给请求的客户机。 在response.end(),response.write()可以执行多次。 Grammar: 复制代码代码如下所示: response.write(块编码,{ }) 参数: 块是表示发送内容的缓冲区或字符串。 …

对fs.rmdirsync方法在Node.js的使

对fs.rmdirsync方法在Node.js的使

使用说明,方法,电脑软件,fs,rmdirsync,方法显示: 删除同步的版本()。 返回值为null或未定义,表示删除成功,否则将抛出异常。 Grammar: 复制代码代码如下所示: Fs.rmdirSync(路径) 由于此方法属于fs模块,因此需要在使用之前引入FS模块(var FS =需…

PS图象处理软件制作的金头钉标志教

PS图象处理软件制作的金头钉标志教

教程,图象,处理软件,标志,电脑软件,金头钉Lo是用PS图象处理软件的,主要介绍了图层样式的修改和钢笔工具的使用。 新文档400x400像素,白色背景,建立一个新层,绘制一个椭圆选区填充# 838181。 添加图层样式。 效果如下。 建立一个新层,画一个椭…

CDR是一个壮观的例子,对starspace浩

CDR是一个壮观的例子,对starspace浩

是一个,壮观,宇宙,例子,电脑软件,本教程介绍给一位朋友,他使用CDR来创造壮观的宇宙天空方法。教程制作的宇宙仍然壮观。难度不是很大。新手也可以过来学习,推荐它,并跟着教程学习。 本教程将介绍CDR来创造壮观的宇宙天空过程。这个教程不是很…

jQuery中的Ajax如何返回结果而不是

jQuery中的Ajax如何返回结果而不是

回调,执行,返回结果,顺序,而不是,因为默认Ajax是异步的,也就是说,当它不响应结果时,它不影响向下执行,因此必须通过回调的方式来完成。 如果你不想返回的结果,参数异步Ajax变为假,这是在相同的顺序执行,它可以返回的结果如下。 然而,这种做法在不…