【PHP】PHP变量

1、变量介绍

PHP 是一门弱类型语言,不必向 PHP 声明该变量的数据类型。PHP 会根据变量的值,自动把变量转换为正确的数据类型。在强类型的编程语言中,必须在使用变量前先声明(定义)变量的类型和名称。

php 复制代码
<?php
$x=5;
$y=6;
$z=$x+$y;
echo $z;
?>

与代数类似,可以给 PHP 变量赋予某个值(x=5)或者表达式(z=x+y)。

PHP 变量规则:

  • 变量以 $ 符号开始,后面跟着变量的名称
  • 变量名必须以字母或者下划线字符开始
  • 变量名只能包含字母、数字以及下划线(A-z、0-9 和 _ )
  • 变量名不能包含空格
  • 变量名是区分大小写的(y 和 Y 是两个不同的变量)

2、局部变量、全局变量、静态变量

局部变量: 局部变量是指在函数或方法内部定义的变量。它们只在该函数或方法的内部可见,其他函数或方法无法访问它们。当函数或方法被调用时,局部变量会创建并在该函数或方法的执行期间存在。一旦函数或方法执行结束,局部变量就会被销毁。
全局变量: 全局变量是指在所有函数和方法的外部定义的变量。它们在程序的整个范围内都是可见的,可以被任何函数或方法访问和修改。在函数或方法内部,可以使用 global 关键字来引用全局变量。
静态变量: 静态变量是指在函数或方法内部定义的变量,但具有静态存储期限。即使函数或方法被多次调用,静态变量的值也会保持不变。在函数或方法内部,可以使用 static 关键字来定义静态变量。

php 复制代码
<?php
$x=5; // 全局变量
$s = 10;

function testFunc()
{
    $y=10; // 局部变量
    echo "<p>测试函数内变量:<p>";
    echo "变量 x 为: $x";
    echo "<br>";
    global $x;
    echo "使用global关键字获取全局变量X:  $x";
    echo "<br>";
    echo "使用 \$GLOBALS数组获取全局变量s:$GLOBALS[s]";//PHP 将所有全局变量存储在一个名为 $GLOBALS[index] 的数组中。
    echo "<br>";
    echo "变量 y 为: $y";
    echo "<br>";

   
} 

function testStaticFunc($num = 0){
    static $temp = 0;
    $temp++;

    echo "第$num 次static静态变量temp:$temp";
    echo "<br>";
}


testFunc();

echo "<p>静态变量测试:<p>";

//静态变量测试1
testStaticFunc(1);

//静态变量测试2
testStaticFunc(2);

//静态变量测试3
testStaticFunc(3);

echo "<p>测试函数外变量:<p>";
echo "变量 x 为: $x";
echo "<br>";
echo "变量 y 为: $y";
相关推荐
一个程序员(●—●)2 分钟前
Lua函数与表+Lua子文件加载与元表
开发语言·lua
zyx没烦恼3 分钟前
Linux 进程信号
linux·运维·服务器·开发语言·c++
tangweiguo030519879 分钟前
打破界限:Android XML与Jetpack Compose深度互操作指南
android·kotlin·compose
Eugene__Chen10 分钟前
JavaWeb开发基础知识-XML和JSON
java·开发语言·前端
努力学习的小廉23 分钟前
【C++11(上)】—— 我与C++的不解之缘(三十)
java·开发语言·c++
霍珵蕴27 分钟前
Kotlin语言的软件工程
开发语言·后端·golang
nlog3n29 分钟前
Java观察者模式详解
java·开发语言·观察者模式
Hoxy.R31 分钟前
什么是 CSSD?
服务器·开发语言·oracle
无名之逆1 小时前
Hyperlane:高性能 Rust HTTP 服务器框架评测
服务器·开发语言·windows·后端·http·rust
跨境卫士-小汪1 小时前
关税核爆72小时!跨境矩阵防御战紧急打响
开发语言·php