关于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