PHP变量

本文深入讲解PHP变量的概念、作用及与Java变量的区别,涵盖变量声明规则、四大作用域(local、global、static、参数作用域)的使用场景与特性,适合初学者入门。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于PHP变量作

最近在学PHP,其实自己的专业是Java的,但是找到的工作可能是用PHP开发的,自己就开始网上学习下,免得开发的时候啥都不懂,并且学多一门语言就多一个技能,也是多一个出路!
第一天学PHP,已经学到变量了,然后我把我学习的新的分享出来,有什么不对的请大佬指出来

什么叫变量
什么是变量?学习的时候,我们先不要急着去看答案,先从字面上理解,再深入的去研究。变量。变就是会发生改变的,量就是一个容器,一个会发生改变的容器就是变量,那它有什么作用呢?下面我会慢慢道来

变量的作用
这是我引用PHP手册的解析,已经很详细的,在这里我也提一下,PHP变量这个容器我们可以往里面存数据,也可以从里面取出数据

变量是用于存储值的,我们命令服务器去干活的时候,往往需要产生一些数据,需要临时性存放起来,方便取用。我们也可以理解为,变量就像一个购物袋,我们可以用来装苹果、榴莲(当然也可以用来装玫瑰),需要注意的是,一般情况下一个变量只能装一个(不要太贪心)值,除非是复合变量(后面变量类型时会介绍),当我们放进去一个苹果后,再放进榴莲的时候,苹果就被替换掉,再放入香蕉,那么榴莲就被替换了。

PHP变量和Java变量比较
计算机语言的类型基本上分两种:弱类型语言和强类型语言。那么弱类型语言有什么呢?PHP就是其中之一啦,还有很多,例如JavaScript、vb等。强类型语言又有什么呢?例如Java、.net 、Python、C++。那么他们有什么区别,为什么会分为这两种语言,他们各自的优缺点是什么呢?
1.弱类型语言和强类型语言最大的区别就是变量声明类型。弱类型语言变量声明时只有一种类型,弱类型语言的变量只有一种类型,例如JavaScript的变量的类型为var,PHP的变量类型为$。弱类型语言都有自己的机制,当语言编译时会自动转换为恰当的数据类型,而无需我们开发者定义为具体类型

2.强类型语言声明变量时,要指定变量的具体数据类型,否则就给你报错,况且每种数据类型都有特定规则,就是说每种类型都指定存放什么样的数据,而且他们数据存放的权限也不一样。

扯得有点多了~~~~~~~

PHP变量声明规则

变量以 $ 符号开始,后面跟着变量的名称
变量名必须以字母或者下划线字符开始

变量名只能包含字母数字字符以及下划线(A-z、0-9 和 _ )

变量名不能包含空格

变量名是区分大小写的($y 和 $Y 是两个不同的变量)

PHP变量的作用域(四大作用域)
local和global(局部作用域和全局作用域)
1.local:声明在方法里面的变量就是局部变量,而且不供外部使用,只能在方法内部使用。

<?php 
$x=5; // 全局变量 

function myTest() 
{ 
    $y=10; // 局部变量 
    echo "<p>测试函数内变量:<p>"; 
    echo "变量 x 为: $x"; 
    echo "<br>"; 
    echo "变量 y 为: $y"; 
}  

myTest(); 

echo "<p>测试函数外变量:<p>"; 
echo "变量 x 为: $x"; 
echo "<br>"; 
echo "变量 y 为: $y"; 
?>
结果:测试函数内变量:

变量 x 为:
变量 y 为: 10

测试函数外变量:

变量 x 为: 5
变量 y 为: 

2.global:global关键字用于函数内部访问全局变量,如果我们要使用只要把global关键字加载变量名的前面就可以调用了

<?php
$x=5;
$y=10;

function myTest()
{
global $x,$y;
$y=$x+$y;
}

myTest();
echo $y; 
?>
结果:
10

PHP 将所有全局变量存储在一个名为 $GLOBALS[index] 的数组中。 index 保存变量的名称。这个数组可以在函数内部访问,也可以直接用来更新全局变量。

3.Static 作用域
其实我们学编程要灵活,看到单词我们大概猜他的意思,从单词意思中我们可以联想到一些有用的信息,就像static,就是静态的意思,那在PHP中我们如何理解static呢?
Static就是静态的意思,当一个函数完成时,它的所有变量通常都会被删除。然而,有时候您希望某个局部变量不要被删除。
要做到这一点,请在您第一次声明变量时使用 static 关键字:

<?php

function myTest()
{
static $x=0;
echo $x;
$x++;
}

myTest();
myTest();
myTest();

?>
结果:
012

4.参数作用域
参数作用域通过调用方法时,将值传递给函数的方式

<?php

function myTest($x)
{
echo $x;
}

myTest(5);

?>
结果:
5
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值