PHP 静态变量

PHP 静态变量

什么是变量

程序中的变量用于存储一些特性或信息,以便在程序中稍后使用。变量还类似于存储字符值、数值、内存位置以及字符串的仓库。 PHP 有自己特定的声明和存储变量的方式。

在处理PHP变量时,需要遵循一些规则和记住一些事实:

  • 在PHP中声明的任何变量都应以美元符号($)开头,后跟变量名。
  • 变量可以具有长描述性名称(例如 $factorial,$even_nos )或短名称( n或f或$x
  • 变量名可以包含字母数字字符和下划线(即’a-z’,’A-Z’,’0-9’和’_’)。甚至不能以数字开头。
  • 常量用作不能更改的基本值的变量。它也区分大小写。
  • 变量的赋值是通过赋值运算符 “=” 完成的。变量名位于等号的左侧,表达式或值位于等号的右侧。
  • 要记住的一点是,在 PHP 名称中,变量名应以字母或下划线开头,而不能以数字开头。
  • PHP是一种弱类型语言,我们不需要声明变量的数据类型。 PHP通过分析其值自动确定数据类型。转换过程也是如此。在使用变量之前不需要声明变量。每当需要时,它会自动在不同类型之间转换。
  • PHP变量区分大小写,即sum和SUM被视为不同变量。

PHP用于声明或构造变量的数据类型:

  • 空值
  • 浮点数
  • 整数
  • 字符串
  • 布尔值
  • 资源
  • 对象
  • 数组

例如:

<!DOCTYPE html>
<html>
<body>

<?php

// These are legitimate announcements
val = 5;val2 = 2;
op_qr_st = "string";_QWERT = "new string";

echo val;
echo "<br>";
echoval2;
echo "<br>";
echo op_qr_st;
echo "<br>";
echo_QWERT;

// This is an invalid statement as it starts with a number
//10_ val = 56;

// This is additionally invalid as it contains
// extraordinary person other than _
//f.d = "num";

?>

</body>
</html>

输出:

PHP 静态变量

变量作用域

变量的范围是指它在程序中可被访问的程度。例如,变量的范围是指在程序中它是可见的或可被访问的部分。

根据范围的不同,PHP有三种变量作用域:

  • 局部变量
  • 全局变量
  • 静态变量

局部变量

在函数内部声明的变量被称为该函数的局部变量,并且只在该特定函数内部有效。简单来说,它不能在函数外部访问。在函数外部声明与函数内部相同名称的变量将是另一个不同的变量。我们将在后面的文章中详细介绍函数。目前,你可以将函数看作是一系列语句的集合。

局部变量的示例

<?php

num = 60;

function local_var()
{
    // Thisnum is nearby to this function
    // the variable num outside this function
    // is something else entirelynum = 50;
    echo "nearby num = num \n";
}

local_var();

//num outside work local_var() is a
// totally unexpected Variable in comparison to that of
// inside local_var()
echo "Variable num outside local_var() is $num \n";

?>

输出:

PHP 静态变量

在上面的示例中,我们创建了一个本地变量 $num ,并展示了在函数内部和外部使用本地变量的情况,发现它只能在函数的本地作用域内起作用。

全局变量

在函数中外部声明的变量称为全局变量。这些变量可以直接在函数外部访问。为了在函数内部访问这些变量,我们需要在变量之前使用”global”关键字来引用全局变量。

全局变量的示例

<?php

num = 20;

// function to exhibit utilization of global variable
function global_var()
{
    // we need to utilize global catchphrase previously
    // the variablenum to access inside
    // the function
    global num;

   echo "Variable num inside work :num \n";
}

global_var();

echo "Variable num outside work : $num \n";

?>

输出:

PHP 静态变量

在上述示例中,我们创建了一个全局变量 $num ,并展示了在函数内部以及外部使用全局变量的情况。

静态变量

我要讨论的最后一种因素被称为静态变量。与作为函数范围内声明的变量不同,这些变量在函数退出时被销毁,而静态变量在函数退出后不会失去其值,并且在函数再次调用时仍保持该值。

您可以通过在变量名之前放置关键字STATIC来声明变量为静态变量。

静态变量是PHP的一个特性,它会在执行完毕后删除变量并释放内存。然而,在某些情况下,我们实际上希望即使在函数执行完成后也保留变量。为此,我们使用static关键字,然后这些变量被称为静态变量。PHP根据变量的值关联一个数据类型。

<?php
   function keep_track() {
      STATIC count = 0;count++;
      print $count;
      print "<br/>";
   }

   keep_track();
   keep_track();
   keep_track();
?>

这会产生相关的结果吗?

PHP 静态变量

你一定注意到了,即使在第一次函数调用之后, $ 也会定期计算增量,但这是因为$sum是静态的,在第一次函数调用执行后,它的内存并没有被释放。

静态变量的示例

<?php

// function to exhibit static variables
function static_var()
{
    // static variable
    static num = 5;total = 2;

    sum++;num++;

    echo num, "\n";
    echosum, "\n";
}

// first function call
static_var();

// second function call
static_var();

?>

输出:

PHP 静态变量

你可能发现,尽管在主要函数调用之后,num会不断增加,但sum却没有增加。 这是因为$sum不是静态的,而它的内存在第一个函数调用执行后被释放。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程