PHP学习(二)--变量

变量

变量,简而言之,就是用户临时存储值得容器。这些值可以是数字、文本,或者复杂得多的排列组合。变量又是指在程序的运行过程中随时可以发生变化的量,是程序中数据的临时存放场所。
PHP中最基本的数据存储但愿就是变量和常量,可以存储不同类型的数据。

变量的声明

在PHP中我们可以声明并使用自己的变量,PHP的特性之一就是它不要求在使用变量之前声明变量。当第一次给一个变量赋值时,才创建了这个变量。变量用于存储值,比如数字、文本字符串或者数组。一旦设置了某个变量,我们就可以在脚本中重复地使用它。在PHP中的声明变量必须是使用一个美元符号“$”后面跟变量名来表示,使用赋值操作符(=)给一个变量赋值。如果在程序中使用声明的变量,就会将变量替换成前面赋值过的值。

<?php
$a = 100;	//声明一个变量$a赋上一个整型数据值100
$b = "string";	//声明一个变量$b赋上一个字符串值"string"
$c = TRUE;	//声明一个变量$c赋上一个布尔数据值true
$d = 10.01	//声明一个变量$d赋上一个浮点型数据值10.01
$e = $a  //声明一个变量$e,将$a的值赋给他
?>

变量的命名

在声明变量时要按照一定的规则,因为变量名是严格区分大小写的,但内置结构和关键字以及用户自己定义的类名和函数名都是不区分大小写的。一个邮箱的变量名由字母或者下划线开头,后面跟上任意数量的字母、数字或者下划线。按照正常的正则表达式,它将被表述为:‘[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*’。但是要注意,变量名的标识符一定不要以数字开头,中间不可以使用空格,不能使用点分开等。
PHP中有一些标识符是系统定义的,也成为关键字,是PHP语言的组成部分,因此不能使用它们中的任何一个作为常量、函数名或类名。但是和其他语言不通的是:系统关键字可以再PHP中作为变量名称使用,不过这样容易混淆,所以最好还是不要以PHP的关键字作为变量名称。

可变变量

一个变量的变量名可以动态地设置和使用。一个普通的变量过声明来设置,而一个可变变量获取了一个普通变量的值作为这个可变变量的变量名。

<?php
$hi = "hello";	//声明一个普通的变量$hi值为hello
$$hi = "world";	//声明一个可变变量$$hi,$hi的值是hello,相当于声明$hello的值是“world”

echo "$hi $hello";  //输出两个单词hello world
echo "$hi ${$hi}"; //输出两个单词hello world
?>

变量的引用赋值

变量总是传值赋值。也就是说,当将一个表达式的值赋予一个变量时,整个原始表达式的值被赋值到目标变量。这意味着,当一个变量的值赋予另一个变量时,改变其中一个变量的值,将不会影响到另外一个变量。
PHP中提供了另外一种方式给变量赋值:引用赋值。这意味着新的变量简单地引用了原始变量。改动新的变量将影响到原始变量,反之亦然。这同样意味着其中没有执行复制操作,因而这种操作更加快速。不过只有在密集的循环中或者对很大的数组或对象赋值时才有可能注意到速度的提升,使用引用赋值,简单的将一个“&”符号加到将要赋值的变量前。

<?php
    $foo = 'bob';//将字符串bob赋值给$foo
    $bar = &$foo;//将变量$foo引用赋值给$bar

    $bar = "My name is Tom"//改变变量$bar的值
    echo $bar;//变量$bar的值被改变,输出:My name is Tom
    echo $foo;//变量$foo的值被改变,输出:My name is Tom

    $foo = "My name is Bob";//改变变量$foo的值
    echo $bar;//变量$bar的值被改变,输出:My name is Bob
    echo $foo;//变量$foo的值被改变,输出:My name is Bob
?>

变量的类型

变量类型是指保存在改变了中的数据类型。PHP中提供了一个不断扩充的数据类型集,可以将不同数据保存在不同的数据类型中,但是PHP语言是一种弱类型检查的语言,和其他语言不同的是,变量或常量的数据类型由程序的上下文决定。
数据类型

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值