【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";
相关推荐
沐知全栈开发26 分钟前
深度优先遍历与连通分量
开发语言
古城小栈40 分钟前
Go 1.25 发布:性能、工具与生态的全面进化
开发语言·后端·golang
JulyYu41 分钟前
【Android】针对非SDK接口的限制解决方案
android·客户端
@syh.1 小时前
【C++】map和set
开发语言·c++
猪哥帅过吴彦祖1 小时前
Flutter 系列教程:应用导航 - Navigator 1.0 与命名路由
android·flutter·ios
拾光Ծ1 小时前
C++11实用的“新特性”:列表初始化+右值引用与偷懒艺术——移动语义
开发语言·c++
何憶树之長青1 小时前
Kernel
开发语言·php
hardmenstudent1 小时前
Python字典--第1关:元组使用:这份菜单能修改吗?
开发语言·python
John_Rey1 小时前
Rust底层深度探究:自定义分配器(Allocators)——控制内存分配的精妙艺术
开发语言·后端·rust
逻极1 小时前
VS Code之Java 开发完全指南:从环境搭建到实战优化
java·开发语言