【PHP基础】PHP变量与常量使用方法

本文详细介绍了PHP中的变量,包括声明、可变变量、赋值方式,以及各种数据类型如字符串、整型、浮点型、布尔型的使用和转换。同时,讨论了常量的定义和预定义常量的类型,帮助读者深入理解PHP编程中的变量管理与数据操作。
摘要由CSDN通过智能技术生成

1 变量概述

1.1 不同编程语言变量的声明

  1. C/C++等在强类型的编程语言中,我们必须在使用变量前先声明(定义)变量的类型和名称。
  2. PHP/Python等弱类型语言,在变量赋值前不需要明确声明变量的类型。

1.2 PHP变量

  1. 变量可以是很短的名称(如 x 和 y)或者更具描述性的名称(如 age、carname、totalvolume)。
  2. PHP 变量规则:
    1. 变量以 $ 符号开始,后面跟着变量的名称
    2. 变量名必须以字母或者下划线字符开始
    3. 变量名只能包含字母、数字以及下划线(A-z、0-9 和 _ )
    4. 变量名不能包含空格
    5. 变量名是区分大小写的($y 和 $Y 是两个不同的变量)

  1. 变量释放:使用unset(变量名)函数释放指定变量。

1.3 PHP可变变量

  1. 一个变量名称可以动态地设置和使用。
  2. 例子:将下述语句写入index.php文档,保存后通过浏览器访问时提示可变变量没有被创建。
<?php
$name1 = "ABC";
$$name2 = "EFG";
echo $name1;
echo "<br>";
echo $ABC;
?>

在这里插入图片描述

1.4 PHP变量赋值方式

  1. 直接赋值:采用字符串、数值或已初始化的变量对变量赋值。
  2. 引用赋值:利用已初始化变量并带前缀&对变量赋值。
    1. 相当于取别名;
    2. 指向同一内存空间;
    3. 新旧变量有一个重新赋值时,另一个变量值将一同被修改。
  3. 例子代码和浏览器浏览结果如下:
<?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";
?>

在这里插入图片描述

2 PHP变量数据类型

  1. 变量类型是指保存在该变量中数据的数据类型,在计算机编程语言世界中,每个数据都有它的数据类型。
  2. 只有相同类型的数据才能相互操作。不同类型间直接相互操作会返回0(表示false),需要先进行类型转换才能相互操作。
  3. PHP变量类型有:
    1. String(字符串)
    2. Integer(整型)
    3. Float(浮点型)
    4. Boolean(布尔型)
    5. Array(数组)(后续再专文介绍)
    6. Object(对象)(后续再专文介绍)
    7. NULL(空值)

2.1 字符串

  1. 一个字符串是一串字符的序列,就像 “Hello world!”。
  2. 声明:可以用单引号、双引号、定界符来定义:
  3. 单引号声明注意事项:
    1. 单引号括起来的字符串不能在包含单引号,如果要包含单引号需要使用反斜杠(\)转义。
    2. 单引号字符串不能正确识别与解析变量,仅认为是字符串。
    3. PHP不会解析单引号中的变量,因此在定义简单字符串时,使用单引号会使运行效率更高。
  4. 双引号声明注意事项:
    1. 双引号字符串中出现的变量能被变量值所代替,建议将变量名整体使用{}括起来。
    2. 双引号字符串中可以出现单引号。
    3. 双引号字符串中要出现特殊字符,需要使用反斜杠(\)转义。
  5. 定界符声明变量:
    1. 开始行:"$变量名=<<<HTML"其中HTML是标识符开始,大写字母,建议使用HTML;
    2. 中间行:字符串内容。
    3. 结束行:"HTML;"以标识符加分号结束。
    4. 开始行与结束行在语句后不能有其他内容,包括空格与注释语句。
  6. 语法:
<?php 
header("content-type:text/html;charset=utf-8");
$name = "PHP";
echo '单引号:Hello,$name';		//执行结果为 单引号:Hello,$name
echo "<br>"; 
echo "双引号:Hello,{$name}";		//执行结果为 单引号:双引号:Hello,PHP
echo "<br>"; 
$test=<<<HTML
定界符:Hello, $name
HTML;
echo $test;						//执行结果为 定界符:Hello, PHP
?>

2.2 整型

  1. 整数是一个没有小数的数字。
  2. 整数规则:
    1. 整数必须至少有一个数字 (0-9)
    2. 整数不能包含逗号或空格
    3. 整数是没有小数点的
    4. 整数可以是正数或负数
    5. 整型可以用三种格式来指定:十进制, 十六进制( 以 0x 为前缀)或八进制(前缀为 0)。
  3. 语法:
<?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 浮点型

  1. 浮点数是带小数部分的数字,或是指数形式。
  2. 语法:
<?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. 布尔型可以是 true 或 false。
  2. 布尔型通常用于条件判断或控制某个功能是否执行。
  3. 系统将对以下变量认为是false:
    1. 布尔类型false;
    2. 整型0;
    3. 浮点型0.0;
    4. 空白字符串或字符0;
    5. null值。
  4. 语法:
<?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 数据类型转换

  1. 数据类型转换有两种类型,一种是自动类型转换,一种是强制类型转换。
  2. 自动类型转换:
    1. 有布尔值参与运算时,true将转化为整型1,false将转化为整型0。
    2. 有null值参与运算时,null值将转化为整型0再进行运行。
    3. 有整型和浮点型数据参与运算时,先把整型转化为浮点型在进行运算。
    4. 有字符串和数字型参与运算时,在程序运行中不太可控,最好避免。
  3. 强制类型转换:
    在要装换的变量前加上括号括起来的目标类型:(int)、(bool)、(float)、(string)、(array)、(object)。
  4. 数据进行类型转换仅是参与运行,并非改变变量本身类型。
  5. 语法:
<?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 常量

  1. 常量是一个简单之的提示符,在PHP脚本执行期间一旦被定义,就不能被改变或取消定义。
  2. 常量的作用域是全局的,只能包含bool、int、float、string类型的数据。
  3. 定义(常命名为大写)与使用语法:
<?php
define("NAME","ABC",ture);	//第三个参数时控制该变量名是否大小写敏感,设为TRUE时,使用name也可以引用该变量。
echo var_dump(NAME);		//执行结果为string(3) "ABC"
?>
  1. 预定义常量
常量名常量值
FILE当前文件名
LINE当前行数
FUNCTION当前函数名
CLASS当前类名
METHOD当前对象方法名
PHP_OSUNIX或WINNT等
PHP_VERSION当前PHP版本
DIRECTORY_SEPARATOR根据系统决定的目录分隔符
\(Windows)或/(Linux)
  1. 常量与变量的区别:
    1. 常量签名没有美元符号$。
    2. 常量只能用define()函数进行定义,不能通过赋值语句赋值或初始化。
    3. 常量可以不同理会变量范围的规则而在任何地方定义和使用。
    4. 常量一旦被定义就不能被重新定义或取消定义。
    5. 常量的类型bool、int、float、string类型的数据。

4 总结

  1. 理解PHP常量与变量的区别;
  2. 了解PHP变量的数据类型;
  3. 掌握各种数据类型的定义与使用方式;
  4. 掌握数据类型转换的方法;
  5. 了解常量的定义与使用方式;
  6. 了解预定义常量类型及含义。

参考文献

  1. PHP变量
  2. PHP5数据类型
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值