目录
5-1声明变量和赋值
5-2变量初始化和 NULL
5-3变量类型
5-4分配其他变量
5-5変数的引用
5-6各种赋值运算符
5-7常量
PHP 中的变量是用于存储值的框。在其他编程语言中,变量充当值的名称标签,但将 PHP 视为将值本身存储在变量中。
要使用变量,请首先定义变量名称,然后赋予变量值,如下进行描述。
$变量名 =值;
变量不需要提前声明。从赋予值的那一刻起就可以使用变量。您可以在程序中使用多个变量。因此,为了区分每个变量,给变量起一个任意的变量名。变量用“$”+变量名表示。
可用作变量名的字符串以下划线或字母开头,后跟下划线、数字和字母。
$myname
$_pref_myname
$year2023
变量名称区分大小写。请注意,变量名不能以数字或下划线以外的任何符号开头。
赋值运算符
赋值运算符“=”用于在变量中存储一个值。赋值运算符将左侧的值赋给右侧。
$old = 20;
$name = '于华';
在上面的例子中,“$old = 20”将数字 20 存储在变量“old”中。“$name = ‘于华’”将字符串“于华”存储在变量“name”中
当数字或字符串等值存储在变量中时,可以将变量视为该值。比如变量可以使用print等方式输出,包含数值的变量可以和其他数值进行运算。
$name = '于华';
print $name;
$num = 20;
print $num * 9;
也可以,为已经赋值的变量赋另一个值。
$name = '于华';
print $name;
$name = '姜明';
print $name;
示例代码
让我们用一个简单的程序来试试吧。
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="UTF-8">
<title>PHP TEST</title>
</head>
<body>
<p>PHP TEST</p>
<p>
<?php
$name = '于华';
print $name.'<br />';
$num = 10;
print $num * 9;
?>
</p>
</body>
</html>
如果将上述文件放在WWW服务器的文档根目录下,用浏览器访问,将显示如下。
上一页介绍了变量不需要提前声明,通过存储值初始化的那一刻就可以使用。
上一页介绍了变量不需要提前声明,所以如果我们赋予标量初始值的那一刻器,这个标量就可以使用。
print $name;
如上所示,即使没有为变量“name”赋值,也不会发生错误。从未被赋值且未被初始化的变量被认为包含“NULL”。
空类型
NULL 是一种数据类型,用于表示没有任何值。唯一可以用作 NULL 类型的值是预定义值“NULL”。您也可以使用“Null”或“null”,因为它不区分大小写。
假定未初始化的变量包含值 NULL。这与显式写入相同:
$name = NULL;
将 NULL 分配给变量会使变量没有值。
虽然不是错误,但变量中没有存入值的状态会导致编程的错误,所以请在第一次使用变量时,给变量赋初值。
示例代码
让我们用一个简单的程序来试试吧。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>PHP TEST</title>
</head>
<body>
<p>PHP TEST</p>
<p>
<?php
print '我的名字是'.$name.',我出生于青岛<br />';
?>
</p>
</body>
</html>
由于变量中没有存储任何内容,因此当您尝试打印它时不会打印任何内容。它只是不会引发错误。
数字和字符串等值是有类型的,但是PHP变量可以用相同的方式存储任何类型的值。因此,无需声明变量将存储什么类型的值。
$name = '于华';
$old = 24;
您还可以为存储值的变量再次存储另一种数据类型的值。
$var = '于华';
$var = 24;
并不是变量没有类型,它会自动更改为它存储的值的类型。
示例代码
让我们用一个简单的程序来试试吧。
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="UTF-8">
<title>PHP TEST</title>
</head>
<body>
<p>PHP TEST</p>
<p>
<?php
$var = '于华';
print '[值]'.$var.',';
print '[型]'.gettype($var).'<br />';
$var = 150;
print '[値]'.$var.',';
print '[型]'.gettype($var)
?>
</p>
</body>
</html>
此示例中使用的“gettype”函数用于检查参数的值和变量的类型。可以看到变量的数据类型也会根据存储的值发生变化。
变量可以存储数字、字符串等值,但也可以存储其他变量
$num1 = 240;
$num2 = $num1;
在这种情况下,存储在变量“num1”中的值被复制并存储在变量“num2”中。因此,两个变量都包含数字“240”。
在某些编程语言中,变量只是名称标签,而在其他语言中,它们充当其他存储值的名称标签。然而,PHP 中的变量有一个地方,每个变量都可以存储它的值。当一个变量被赋值给另一个变量时,PHP 复制原始变量的值并将其存储在目标变量中。
现在让我们在变量“num1”中存储另一个值
$num1 = 240;
$num2 = $num1;
$num1 = 55;
变量“num1”和变量“num2”存储的值不同,所以即使以后变量“num1”的值发生变化,变量“num2”中存储的值也不会受到影响。。因此,“55”存储在变量“num1”中,但“240”仍存储在变量“num2”中。
示例代码
让我们用一个简单的程序来试试吧。
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="UTF-8">
<title>PHP TEST</title>
</head>
<body>
<p>PHP TEST</p>
<p>
<?php
$num1 = 240;
$num2 = $num1;
print '$num1 ='.$num1.'<br />';
print '$num2 ='.$num2.'<br />';
$num1 = 20;
print '$num1 ='.$num1.'<br />';
print '$num2 ='.$num2;
?>
</p>
</body>
</html>
如果将上述文件放在WWW服务器的文档根目录下,用浏览器访问,将显示如下。
我在上一节中解释过,变量有一个区域,用于存储每个变量的值。在 PHP 中,除了像这样使用变量外,还可以设置对其他变量的引用。
要设置对另一个变量的引用,请编写:
变量 =&其他变量
使用“=&”而不是“=”将左侧变量设置为右侧变量的别名,而不是复制右侧变量的值。结果,可以通过左侧的变量名访问右侧变量中存储的值
$num1 = 240;
$num2 =& $num1;
在这种情况下,变量“num1”和“num2”的值都是“240”。
では変数「num1」に別の値を格納してみます。
$num1 = 240;
$num2 =& $num1;
$num1 = 55;
由于变量“num1”和“num2”是同一个值的别名,如果稍后变量“num1”的值发生变化,则变量“num2”中存储的值也会发生变化。这是因为只有一个存储区有两个变量名。
示例代码
让我们用一个简单的程序来试试吧
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>PHP TEST</title>
</head>
<body>
<p>PHP TEST</p>
<p>
<?php
$num1 = 240;
$num2 =& $num1;
print '$num1 ='.$num1.'<br />';
print '$num2 ='.$num2.'<br />';
$num1 = 55;
print '$num1 ='.$num1.'<br />';
print '$num2 ='.$num2.'<br />';
$num2 = 95;
print '$num1 ='.$num1.'<br />';
print '$num2 ='.$num2;
?>
</p>
</body>
</html>
如果将上述文件放在WWW服务器的文档根目录下,用浏览器访问,将显示如下。
由于这两个变量是对另一个变量的引用,因此在任一变量中存储不同的值将影响存储在另一个变量中的值。
变量不仅可以用来存储单个值,还可以用来存储操作的结果或字符串的拼接结果。例如:
$num = 80 * 15;
$pref = '山东';
$address = $pref.'省';
通过将计算结果存储在变量中,您可以在以后重用它。
对存储在变量中的值进行一些操作,然后将其再次存储在同一个变量中,这也是一个常见的过程。
$num = 6;
$num = $num + 4;
在上面,在变量“num”中存储了 6 之后,将变量“num”的值加上 84的结果再次存储在变量“num”中。如果写得客气一点,和下面这样写的情况是一样的。
$num = 6;
$tmp = $num + 4;
$num = $tmp;
由于将像这样的操作的结果再次存储在同一个变量中是很常见的,因此提供了一个专用的运算符。
+=, -=, *=, /=, %=
这些是带有“=”的数字对象提供的四则算术运算的运算符。使用方法如下
变量 += 表达式
变量 -= 表达式
变量 *= 表达式
变量 /= 表达式
变量 %= 表达式
这些中的每一个都等同于写成如下:
变量=变量+表达式
变量=变量-表达式
变量=变量*表达式
变量=变量/表达式
变量=变量%表达式
“表达式”描述数值,例如数字和字符串,以及其他算术表达式。例如,要将变量“num”中存储的数字增加 1,可以这样写。
$num += 1;
还有,用于字符串连接的运算符。
.=
用法如下。
$str = '名字';
$str .= '于华';
这与编写相同:
$str = '名字';
$str = $str.'于华';
示例代码
让我们用一个简单的程序来试试吧。
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="UTF-8">
<title>PHP TEST</title>
</head>
<body>
<p>PHP TEST</p>
<p>
<?php
$num = 46;
print '$num='.$num.'<br />';
$num += 24;
print '$num='.$num.'<br />';
$str = '山东';
print '$str='.$str.'<br />';
$str .= '青岛';
print '$str='.$str;
?>
</p>
</body>
</html>
如果将上述文件放在WWW服务器的文档根目录下,用浏览器访问,将显示如下。
常量是指,用字符串将值定义为常量,而不是在程序中将变量定义为数字、字符串等值,定数常用于定义于一成不变的值。这样我们在程序中就可以直接写定数的名称。
$price1 = 110 * (1 + 0.25);
$price2 = 90 * (1 + 0.25);
$price3 = 180 * (1 + 0.25);
上面的程序中,为产品单价加上法人税。法人税在这里计算为25%,但未来可能会改变。如果像这样直接在程序中写入数值,一旦发生变化就需要全部修正。
因此,让我们使用常量 TAX 而不是数字 0.25来重写它。
define("TAX", 0.25);
$price1 = 110 * (1 + TAX);
$price2 = 90 * (1 + TAX);
$price3 = 180 * (1 + TAX);
在这种情况下,即使法人税率发生变化,我们只需要改变常量“TAX”的定义即可。因此,常量用于为定义一次且在程序中永不更改的值分配标识符。
像这样定义常量:
定义(标识符,值);
标识符将常量的名称指定为字符串。可用作常量名称的字符串与变量相同,以下划线或字母字符开头,后跟下划线、数字和字母字符。尽管区分大小写,但按照惯例,常量名称都是大写的。与变量名不同,它们不需要前导“$”。
值可以是字符串、数字或布尔值。具体写如下。
define("TAX", 0.25);
define("PAI", 3.14159);
define("COPYRIGHT", "Copyright (C) 2023 flashyonder.com. All Rights Reserved.");
常量一旦定义,就不能在程序中改变。定义常量在程序中描述和使用标识符来代替值。
define("Pai", 3.14159);
$menseki = Pai * $banjing * $banjing;
示例代码
让我们用一个简单的程序来试试吧。
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="UTF-8">
<title>PHP TEST</title>
</head>
<body>
<p>PHP TEST</p>
<p>
<?php
define("Pai", 3.1415926);
$r = 8;
$mianji = Pai * $r * $r;
print '半径='.$r.'面积是'.$mianji.'<br />';
$r = 21;
$menseki = PAI * $r * $r;
print '半径='.$r.'面积是'.$mianji;
?>
</p>
</body>
</html>
如果将上述文件放在WWW服务器的文档根目录下,用浏览器访问,将显示如下。