【PHP基础-2】PHP变量与常量

1 变量概述

变量是用于存储信息的"容器"。

1.1 变量的声明及释放

(1)变量的声明

  • C/C++等在强类型的编程语言中,我们必须在使用变量前先声明(定义)变量的类型和名称。
  • PHP/Python等弱类型语言,在变量赋值前不需要明确声明变量的类型,但是需要初始化。初始化是指给变量初次赋值。

(2)变量释放:PHP语言使用unset(变量名)函数释放指定变量。

1.2 PHP变量的命名

变量可以是很短的名称(如 x 和 y)或者更具描述性的名称(如 age、carname、totalvolume)。注意,PHP 语句和 PHP 变量都是区分大小写的。

PHP 变量规则

  • 变量以 $ 符号开始,后面跟着变量的名称
  • 变量名必须以字母或者下划线字符开始
  • 变量名只能包含字母、数字以及下划线(A-z、0-9 和 _ )
  • 变量名不能包含空格
  • 变量名是区分大小写的($y 和 $Y 是两个不同的变量)
  • 尽量不要使用PHP关键字作为变量名。如函数名echo等

1.3 PHP变量赋值方式

直接赋值:采用字符串、数值或已初始化的变量对变量赋值,赋值符号为=。

引用赋值:利用已初始化变量并带前缀&对变量赋值。

  • 相当于取别名;
  • 指向同一内存空间;
  • 新旧变量有一个重新赋值时,另一个变量值将一同被修改。

例子:代码和浏览器浏览结果如下:

<?php
header("content-type:text/html;charset=utf-8");
$name1 = "ABC";
$name2 = &$name1;
echo "name1:$name1";
echo " | ";
echo "name2:$name2";
echo "<br>修改后:<br>";
$name2 = "EFG";
echo "name1:$name1";
echo " | ";
echo "name2:$name2";
?>

在这里插入图片描述

1.4 PHP可变变量

一个变量名称可以动态地设置和使用。
例子:将下述语句写入$$var.php文档,保存后通过浏览器访问时运行结果如下:

<?php
$name="zz";
$$name="qq";
echo $name;
echo "<br/>";
echo $$name;
echo "<br/>";
echo $zz;//为$$name
?>

在这里插入图片描述

2 PHP变量数据类型

变量类型是指保存在该变量中数据的数据类型,在计算机编程语言世界中,每个数据都有它的数据类型。
只有相同类型的数据才能相互操作。不同类型间直接相互操作会返回0(表示false),需要先进行类型转换才能相互操作。

PHP变量类型有:

  • String(字符串)
  • Integer(整型)
  • Float(浮点型)
  • Boolean(布尔型)
  • Array(数组)(后续再专文介绍)
  • Object(对象)(后续再专文介绍)
  • NULL(空值)

2.1 字符串

一个字符串是一串字符的序列,就像 “Hello world!”。
声明:可以用单引号、双引号、定界符来定义:

单引号声明注意事项

  • 单引号括起来的字符串不能在包含单引号,如果要包含单引号需要使用反斜杠(\)转义。
  • 单引号字符串不能正确识别与解析变量,仅认为是字符串。
  • PHP不会解析单引号中的变量,因此在定义简单字符串时,使用单引号会使运行效率更高。

双引号声明注意事项

  • 双引号字符串中出现的变量能被变量值所代替,建议将变量名整体使用{}括起来。
  • 双引号字符串中可以出现单引号。
  • 双引号字符串中要输出特殊字符(如’ " $),需要使用反斜杠(\)转义。

定界符声明变量

  • 开始行:"$变量名=<<<HTML"其中<<<HTML是定界符的开始,大写字母,建议使用HTML;
  • 中间行:字符串内容。
  • 结束行:"HTML;"以标识符加分号结束。
  • 开始行与结束行之后后不能有其他内容,包括空格与注释语句。

语法:

<!--字符串测试-->
<?php 
header("content-type:text/html;charset=utf-8");
$str = "name";
echo '单引号:Hello,$str';		//执行结果为 单引号:Hello,$str
echo "<br>"; 
echo "双引号:Hello,{$str}";		//执行结果为 单引号:双引号:Hello,name
echo "<br>"; 
$test1=<<<HTML
定界符:Hello, $str
HTML;
echo $test1;						//执行结果为 定界符:Hello, name
echo "<br>"; 
$test2=<<<HTML
This is DJ[' " $]
HTML;
echo $test2;						//执行结果为 This is DJ[' " $]
?>
《hr/>

在这里插入图片描述

2.2 整型

整数是一个没有小数的数字。

整数规则:

  • 整数必须至少有一个数字 (0-9)
  • 整数不能包含逗号或空格
  • 整数是没有小数点的
  • 整数可以是正数或负数
  • 整型可以用三种格式来指定:十进制, 十六进制( 以 0x 为前缀)或八进制(前缀为 0)。

例子

<?php 
$x = 123;
var_dump($x);	//执行结果为int(123)
echo "<br>"; 
$x = -123; 		// 负数 
var_dump($x);	//执行结果为int(-123)
echo "<br>"; 
$x = 0x8C; 		// 十六进制数
var_dump($x);	//执行结果为int(140)
echo "<br>";
$x = 047; 		// 八进制数
var_dump($x);	//执行结果为int(39)
?>

2.3 浮点型

浮点数是带小数部分的数字,或是指数形式。

例子

<?php 
$x = 10.365;
var_dump($x);	//执行结果为float(10.365)
echo "<br>"; 
$x = 2.4e3;		//创建指数
var_dump($x);	//执行结果为float(2400)
echo "<br>"; 
$x = 8E-5;		//创建指数
var_dump($x);	//执行结果为float(8.0E-5)
?>

2.4 布尔型

(1)布尔型可以是 truefalse

(2)布尔型通常用于条件判断或控制某个功能是否执行。

(3)系统将对以下变量认为是false

  • 布尔类型false;
  • 整型0;
  • 浮点型0.0;
  • 空白字符串或字符0;
  • null值。

例子

<?php 
$x1 = false;
if($x1){echo "ture";}else{var_dump($x1);}	//执行结果为bool(false)
echo "<br>"; 
$x2 = 0;
if($x2){echo "ture";}else{var_dump($x2);}	//执行结果为int(0)
echo "<br>"; 
$x3 = 0.0;
if($x3){echo "ture";}else{var_dump($x3);}	//执行结果为float(0)
echo "<br>"; 
$x4 = "";
if($x4){echo "ture";}else{var_dump($x4);}	//执行结果为string(0) ""
echo "<br>"; 
$x5 = "0";
if($x5){echo "ture";}else{var_dump($x5);}	//执行结果为string(1) "0"
echo "<br>"; 
$x6 = null;
if($x6){echo "ture";}else{var_dump($x6);}	//执行结果为NULL
?>

在这里插入图片描述

2.5 数据类型转换

数据类型转换有两种类型,一种是自动类型转换,一种是强制类型转换
自动类型转换

  • 有布尔值参与运算时,true将转化为整型1,false将转化为整型0。
  • 有null值参与运算时,null值将转化为整型0再进行运行。
  • 有整型和浮点型数据参与运算时,先把整型转化为浮点型在进行运算。
  • 有字符串和数字型参与运算时,在程序运行中不太可控,最好避免。

强制类型转换

  • 在要装换的变量前加上括号括起来的目标类型:(int)、(bool)、(float)、(string)、(array)、(object)。
  • 数据进行类型转换仅是参与运行,并非改变变量本身类型。

例子

<?php
$x=true;
$y=1;
$z=$x+$y;
echo "x:{$x},is_bool:";
echo is_bool($x); 
echo "<br>";				//这三句执行结果为 x:1,is_bool:1并换行
echo "y:{$y},is_int:";
echo is_int($y); 
echo "<br>";				//这三句执行结果为 y:1,is_int:1并换行
echo "z:{$z},is_int:";
echo is_int($z); 
echo "<br>";				//这三句执行结果为 z:2,is_int:1并换行
?>

3 常量

3.1 常量概述

(1)常量是一个简单值的标识符。该值在脚本中不能改变。
(2)一个常量由英文字母、下划线、和数字组成,但数字不能作为首字母出现。 (常量名不需要加 $ 修饰符)。
(3)注意: 常量在整个脚本中都可以使用。
(4)常量的作用域是全局的,只能包含bool、int、float、string类型的数据。

3.2 定义常量

设置常量,使用 define() 函数,函数语法如下:

bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )

该函数有三个参数:

  • name:必选参数,常量名称,即标志符。
  • value:必选参数,常量的值
  • case_insensitive :可选参数,如果设置为 TRUE,该常量则大小写不敏感。默认是大小写敏感的。

例子

<?php
define("NAME","ABC",ture);	//第三个参数时控制该变量名是否大小写敏感,设为TRUE时,使用name也可以引用该变量。
var_dump(NAME);		//执行结果为string(3) "ABC"
?>

3.3 预定义常量

常量名常量值
_FILE_当前文件名(包含路径)
_LINE_当前行数
_FUNCTION_当前函数名
_CLASS_当前类名
_METHOD_当前对象方法名
PHP_OSUNIX或WINNT等
PHP_VERSION当前PHP版本
DIRECTORY_SEPARATOR根据系统决定的目录分隔符\(Windows)或/(Linux)

4 常量与变量的区别:

(1)常量前面没有美元符号$。
(2)常量只能用define()函数进行定义,不能通过赋值语句赋值或初始化。
(3)常量可以不用理会变量范围的规则而在任何地方定义和使用。
(4)常量一旦被定义就不能被重新定义或取消定义。
(5)常量只能包含bool、int、float、string类型的数据。

5 归纳

(1)掌握PHP变量的声明、释放、命名及赋值;
(2)了解PHP变量的数据类型;
(3)掌握各种数据类型的定义与使用方式;
(4)了解常量的定义与使用方式;
(5)了解预定义常量类型及含义。
(6)理解PHP常量与变量的区别;

参考文献

[1] 《PHP变量
[2] 《PHP5数据类型
[3] 《PHP常量

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值