【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";
相关推荐
fengfuyao98511 分钟前
基于MATLAB的GUI实现人脸检测、眼睛检测以及LBP直方图显示
开发语言·计算机视觉·matlab
大王派来巡山的小旋风24 分钟前
Kotlin基本用法之集合(一)
android·程序员·kotlin
用户20187928316727 分钟前
智能广播系统(RemoteCallbackList)的诞生
android
CHANG_THE_WORLD28 分钟前
# C++ 中的 `string_view` 和 `span`:现代安全视图指南
开发语言·c++
Franklin1 小时前
Python界面设计【QT-creator基础编程 - 01】如何让不同分辨率图像自动匹配graphicsView的窗口大小
开发语言·python·qt
郝学胜-神的一滴1 小时前
深入理解QFlags:Qt中的位标志管理工具
开发语言·c++·qt·程序人生
用户2018792831672 小时前
Binder 同应用内(本地)通信是否存在 1MB 大小限制?
android
柯南二号2 小时前
【Java后端】MyBatis-Plus 原理解析
java·开发语言·mybatis
一条上岸小咸鱼2 小时前
Kotlin 基本数据类型(四):String
android·前端·kotlin
dog2502 小时前
难以超越的 TCP AIMD
网络协议·tcp/ip·php