第二章 变量

来源:互联网 发布:网络用语ovo什么意思 编辑:程序博客网 时间:2024/05/21 12:04

简而言之,变量是临时存储值的容器。(是程序中数据临时存放的场所)。php脚本语言是一种弱类型检查语言,和其他语言不同的是,变量、常量的数据类型是由程序的上下文决定。

一,变量的声明

$a = 100;  //声明一个变量$a,赋上一个整型100;$key1 = $a; //声明一个变量$key1;将$a变量的值赋给它;$a = $b = $c = $d = "value"; //同时声明多个变量,并赋上相同的值;

php的变量声明以后有一定的使用范围,变量的范围即它定义的上下文背景(也就是它的生效范围)。如果在函数里声明的变量,则只能在函数里用,外部声明的变量,函数
内不也不能用。如果不是在函数里面声明的,则不仅能在<?php ?>里使用,也可以在一个页面的所有开启PHP模式下使用,也包含了include和require引入文件。

在变量的使用范围内,

unset();// 释放指定的变量。isset();// 检测变量是否被设置empty();//检查一个变量是否为空。“”、0、“0”、NULL、FALSE、array()、var $var ,及没有任何属性的对象都被认为是空的,如果参数为空,则返回TRUE;

二,变量的命名

变量是严格区分大小写的,一个有效的变量名由字母或下划线开头,,后面跟上任意数量的字母、数字或者下划线。按照正常的正则表达式,可表述为:

'[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*'

但注意,变量名的标识符一定不以数字开头,中间不能使用空格,不能使用点分开等。

$4site = 'no'; //非法变量名,以数字开头$_4site = 'yes';   //合法变量名,以下划线开头$i站点site = 'yes';  //合法变量名,可以用中文

PHP中有一些标识符是系统定义的的,也称为关键字,它们时php语言的组成部分,因此不能使用它们的任何一个作为常量、函数名或类名。但是系统关键字可以在php中作为变量名使用,不过这样容易混淆,所以最好不用php关键字作为变量名称。
如果变量是一个单词构成,通常采用全部小写方式作为变量名。如果变量是由多个单词构成的,则第一个单词采用全部小写,以后每个单词首字母采用大写。如$myNameIsWangChen,函数命名也采用同样规则。

三,可变变量

一个变量的变量名可以动态的设置和使用。

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

在上面的例子中。”hi”使用了两个$以后,就可以作为一个可变变量了。这时两个变量都被定义了,$hello的值是”world”。$$hi$hello 是等价的。

四,变量的引用赋值

引用赋值:新的变量简单地引用了(指向)原始变量。改变新的变量,将影响到原始变量,反之亦然。

$foo = "Bob"; //原始变量$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 Tom";//改变$foo的值echo $bar; //变量$bar的值改变,输出"Your name is Bom"echo $foo; //变量$foo的值改变,输出"Your name is Bom"

前提是只有两个有名字的变量才可以引用赋值。
$bar = &$foo;不会导致$bar和$foo在内存上同体,所以在执行unset()后,变量 $bar和$foo仅仅是相互取消关联,$foo并没有因为$bar的释放而消失。$bar也不会因为$foo的释放而消失。

$foo = 100; $bar = &$foo;unset($bar);echo $foo;//值为100
$foo = 100; $bar = &$foo;unset($foo);echo $bar;//值为100

五,变量的类型

变量的类型

0 0
原创粉丝点击