返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >PHP 中的静态变量
  • 162
分享到

PHP 中的静态变量

2024-02-27 20:02:55 162人浏览 安东尼
摘要

本文将介绍 PHP 静态变量,解释它们的特性,并演示在面向对象的上下文中访问静态变量的各种方法。 php 中的静态变量 程序中的变量用于存储以后可以在程序中使用的数据或值。变量可以存储字符、数

本文将介绍 PHP 静态变量,解释它们的特性,并演示在面向对象的上下文中访问静态变量的各种方法。


php 中的静态变量

程序中的变量用于存储以后可以在程序中使用的数据或值。变量可以存储字符、数值、字符串、内存地址等。

在 PHP 中,我们使用 $ 美元符号后跟变量名称来声明或存储值。

例子:


$name = "John Doe";
$marks = 90;

同样,静态变量是其范围不结束于函数之外的变量。非静态变量的作用域在函数退出后被销毁。

我们可以使用 static 关键字声明一个静态变量。

例子:


static $name = "John Doe";
static $marks = 90;`

让我们通过下面的演示来看看静态变量的属性。

代码示例:


function total_marks () {
    static $marks = 90;
    $marks ++;
    print $marks;
    print "<br />";
}
total_marks();
total_marks();
total_marks();

输出:


91
92
93

上面的代码显示静态变量即使在函数结束后仍保留其值。对函数 total_marks() 有三种不同的调用,但即使在函数退出后 $marks 的值也不会被破坏。

在进行第二次和第三次函数调用时,该值不会重置为 90。随着先前的值被保留,它会继续增加。

让我们将上面的示例应用于非静态变量。

示例代码:


function total_marks () {
    $marks = 90;
    $marks ++;
    print $marks;
    print "<br />";
}
total_marks();
total_marks();
total_marks();

输出:


91
91
91

每次进行函数调用时,$marks 变量的值都会重置为 90。它表明非静态变量不保留其先前的值。


在 PHP 中使用 self 关键字访问类中的静态变量

我们可以使用 self 关键字来访问类中的静态变量。双冒号 :: 用在 self 关键字之后,静态变量紧随其后。

this 关键字不适用于静态变量,因为静态变量不属于对象。

例如,在一个类中,Student 创建一个静态变量 $name 并分配一个值 John Doe。在函数内部,who() 使用带有双冒号的 self 关键字来访问静态变量 $name,最后,使用类的对象调用该函数。

示例代码:


class Student {
    public static $name = "John Doe";
    public function who() {
    echo self::$name;
    }
}
$obj = new Student;
$obj->who();

输出:


John Doe

PHP 中使用类名访问类外的静态变量

可以直接访问静态变量,而无需创建类的实例。要访问类外部的静态变量,我们可以编写类的名称,后跟双冒号(::),后跟静态变量的名称。

例如,在一个类中,Student 像第一个方法一样创建一个静态变量。接下来,在类外写入 Student:$name 以访问静态变量。

示例代码:


class Student {
    public static $name = "John Doe";
}
echo Student::$name;

输出:


John Doe

静态变量 $name 在类外部使用类名访问。


访问静态方法中的静态变量

在第一个示例中,我们了解了如何访问类中的静态变量。在那里,我们访问了非静态方法内部的静态变量。

本节将把静态变量放在静态方法中并对其进行访问。我们可以在函数前写 static 关键字来创建静态方法,在不创建类实例的情况下访问静态函数,并使用类名调用静态方法。

示例代码:


class Student {
    public static $name = "John Doe";
    public static function who() {
    echo self::$name;
    }
}
Student::who();

输出:


John Doe

在这里,我们使用::运算符访问了类 Student 的静态方法 who()。我们使用 self 关键字来访问方法内的静态变量。

--结束END--

本文标题: PHP 中的静态变量

本文链接: https://lsjlt.com/news/569093.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • PHP 中的静态变量
    本文将介绍 PHP 静态变量,解释它们的特性,并演示在面向对象的上下文中访问静态变量的各种方法。 PHP 中的静态变量 程序中的变量用于存储以后可以在程序中使用的数据或值。变量可以存储字符、数...
    99+
    2024-02-27
  • php中什么是静态变量
    这篇文章主要介绍了php中什么是静态变量,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。什么是静态变量:在函数内部使用static声明得变量就是静态变量;静态变量的特征:静态变...
    99+
    2023-06-15
  • C#静态变量和非静态变量的区别
    本篇内容介绍了“C#静态变量和非静态变量的区别”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!C#基础概念之一,静态变量和非静态变量的区别?静...
    99+
    2023-06-18
  • C#中静态变量与非静态变量的区别有哪些
    这篇文章主要为大家展示了“C#中静态变量与非静态变量的区别有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“C#中静态变量与非静态变量的区别有哪些”这篇文章吧。静态变量:静态变量使用 stat...
    99+
    2023-06-17
  • php方法中的静态变量是什么
    本文操作环境:Windows7系统、PHP7.1版、DELL G3电脑php方法中的静态变量是什么?PHP中的静态变量及static静态变量使用详解静态变量只存在于函数作用域内,也就是说,静态变量只存活在栈中。一般的函数内变量在函数结束后会...
    99+
    2017-05-04
    php 静态变量
  • php类中静态变量怎么调用
    在 PHP 类中,可以使用self关键字来调用静态变量。self关键字代表当前类,可以用于引用当前类的静态方法、静态属性和常量。 以...
    99+
    2024-02-29
    php
  • python 静态变量
    class A:    i=1    j=1    def inc():        self.i+=1        A.j+=1区别:A.j是静态变量;A.i与a.i是不一致的,容易引起误会。对比java可以试试。 ...
    99+
    2023-01-31
    变量 静态 python
  • php中静态变量和普通变量有什么区别
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑在变量的前面加上static 就构成了静态变量(static 变量)。static变量和普通变量的区别在于非静态全局变量的作用域是整个源程序,当一个源程序由多个源文件组...
    99+
    2014-09-28
    php 静态变量 普通变量
  • php中静态变量和普通变量有哪些区别
    这篇“php中静态变量和普通变量有哪些区别”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php中静态变量和普通变量有哪些区别...
    99+
    2023-06-29
  • Java中的static关键字和静态变量、静态方法
    本篇内容介绍了“Java中的static关键字和静态变量、静态方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有...
    99+
    2024-04-02
  • php常量和静态变量的区别是什么
    本教程操作环境:windows10系统、PHP7.1版、DELL G3电脑php常量和静态变量的区别是什么在效率上:常量编译过程比静态变量快的多。代码:<php error_reporting(E_ALL); class A { ...
    99+
    2014-08-20
    PHP
  • php常量和静态变量的区别有哪些
    这篇文章主要为大家展示了“php常量和静态变量的区别有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“php常量和静态变量的区别有哪些”这篇文章吧。php中常量和静态变量的区别:1、常量都是不...
    99+
    2023-06-29
  • C#静态变量的用法
    本篇内容主要讲解“C#静态变量的用法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#静态变量的用法”吧!C#语言还是比较常见的东西,这里我们主要介绍C#静态变量,包括介绍C#静态变量使用 st...
    99+
    2023-06-17
  • python实现静态变量
    在类中定义在函数外面的变量是类变量,不属于类的实例。利用它可以实现静态变量。 1. 意料之外的静态变量 在使用类变量的时候一定要小心,否则会得到意料之外的结果。看下面的代码: class Foo(object): coun...
    99+
    2023-01-31
    变量 静态 python
  • EasyC++静态持续变量
    目录1.auto关键字2.静态持续变量文章转自微信公众号:Coder梁(ID:Coder_LT) 1.auto关键字 我们现在知道,使用auto关键字可以自动推导变量类型,尤其是在...
    99+
    2024-04-02
  • java中静态变量指的是什么
    小编给大家分享一下java中静态变量指的是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Java的优点是什么1. 简单,只需理解基本的概念,就可以编写适合于各...
    99+
    2023-06-14
  • Java中的静态变量如何定义
    在Java中,静态变量可以使用static关键字来定义。它们属于类级别的变量,而不是对象级别的变量。 静态变量的定义格式如下: 修饰...
    99+
    2024-02-29
    Java
  • PHP 函数的静态变量机制是什么?
    php 函数的静态变量机制允许变量在函数调用之间保留其值,从而实现以下功能:保留函数调用之间的状态。避免创建重复的变量。简化代码。 PHP 函数的静态变量机制 简介 静态变量是一种特殊...
    99+
    2024-04-10
    php 静态变量 作用域
  • C#中怎么定义静态变量
    本篇文章给大家分享的是有关C#中怎么定义静态变量,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。C#静态变量定义的实例演示:例如:新建类GlobalParams可以在类中这样写:...
    99+
    2023-06-17
  • C#中如何使用静态变量
    C#中如何使用静态变量,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。C#静态变量的使用实例:在类库中定义了一个静态常量,如下:public const...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作