程序基本上按照编写的顺序执行,但有时也想根据条件划分要执行的处理。在这里,我将解释如何使用条件分支语法(如 PHP 中的 if 语句)进行分支处理。
目录
6-1if 语句
6-2論理値
6-3比較演算子
6-4論理演算式
6-5条件表达式为假时的处理(if..else)
6-6多个条件(if..elseif..else)
6-7switch判断
6-8三元运算符
程序是按照编写的顺序从上到下执行的,但有时也想根据条件来划分处理。例如,如果变量的值为正数,则执行此处理,如果为负数,则执行此处理。
“if”语句用于根据这样的条件分支处理。“if”语句的格式如下:
if (条件表达式) {
条件表达式为真时执行的过程1
条件表达式为真时执行的过程2
}
在条件表达式中,使用“ x == 10 ” 或 “ y > 15 ”等比较运算符编写条件表达式。当此条件为真 (TRUE) 时,执行从“{” 到 “}”的语句。(请参阅下一页的比较运算符)。
“{” 到 “}”之间的部分称为块。在 if 语句的情况下,如果条件表达式为真,将执行块中写入的语句。块用于在程序中划定一定范围。
如果只执行一个进程,可以省略块,写成如下。
if (条件表达式)
条件表达式为真时执行的过程
你实际上会这样写:
$old = 30;
if ($old >= 20){
print '年龄20以上';
}
在本例中,我们判断变量“old”中存储的值是否大于20,如果为真(TRUE),则执行块中的处理。
示例代码
让我们用一个简单的程序来试试吧。
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="UTF-8">
<title>PHP TEST</title>
</head>
<body>
<p>PHP TEST</p>
<p>
<?php
$old = 30;
if ($old >= 30){
print '年龄超过30岁';
}
?>
</p>
</body>
</html>
如果将上述文件放在WWW服务器的文档根目录下,用浏览器访问,将显示如下。
由于变量中存储的值为30,if语句的条件表达式为正,因此执行if语句块内的处理。。
在if语句中,根据条件表达式的结果是真还是假来划分要处理的内容。在条件表达式中,使用比较(if)运算符编写条件,例如“x == 10”,但如果条件正确,则表达式“x == 10”的结果便是TRUE 值,如果条件不为真,表达式“x == 10″ 的结果便是 FALSE。
像这样的比较运算符作为评估结果, 返回 TRUE 或 FALSE 值。这两个值都是論理値。論理値是 TRUE 或 FALSE 的数据类型。(它不区分大小写也可以写为true,false)。
論理値是:TRUE 或者是 FALSE
一些运算符,例如比较运算符,返回一个逻辑值作为结果,但您也可以显式地将逻辑值分配给变量等。
$flag = TRUE;
if语句根据条件表达式的值是真(TRUE)还是假(FALSE)来分配处理,所以也可以这样写。
$flag = TRUE;
if ($flag){
// 当条件表达式为真时要执行的处理
}
在上述情况下,如果变量“flag”的值为 TRUE,则执行 if 语句块中的处理。
此外,如果在应写入逻辑值的位置写入其他数据类型的值,例如在 if 语句的条件表达式中,该类型将自动转换为逻辑值并进行评估。类型转换为 FALSE 的值如下。
FALSE
整数 0 和浮点数 0.0 空
字符串 ""
String "0"
0 个元素的数组
NULL
成员变量号为 0 的对象
除了以上的值之外,所有其他值都转换为 TRUE。例如,数字 15 和字符串“Hello”被转换为 TRUE。
$num = 12;
if ($num){
// 当条件表达式为真时要执行的处理程序
}
在上面,变量“num”存储数字 8,因此条件表达式为 TRUE。
示例代码
让我们用一个简单的程序来试试吧。
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="UTF-8">
<title>PHP TEST</title>
</head>
<body>
<p>PHP TEST</p>
<p>
<?php
if (TRUE){
print '条件表达式为TRUE,所以程序被执行';
}
?>
</p>
</body>
</html>
如果将上述文件放在WWW服务器的文档根目录下,用浏览器访问,将显示如下。
在if语句等条件分支的情况下,根据条件表达式的内容是真还是假来划分处理。条件表达式中写有等于[ XX ]或“大于[ xxx ]等条件。)。我们把这种演算式称为比較演算式。
首先查看PHP提供的比较运算符类型。
演算式 | 表达式 | 意思 |
== | a == b | b和a的值相等 |
=== | a === b | b和a的值相同,类型也相同 |
!= | a != b | b和a的值不相等 |
<> | a <> b | b和a的值不相等 |
!== | a !== b | b 和 a 在值或类型上不相等 |
> | a > b | a 大于 b |
>= | a >= b | a 大于或等于 b |
< | a < b | a 小于 b |
<= | a <= b | a 小于或等于 b |
比较运算符比较左右两侧指定的数字和字符串,看它们是否相等,或者它们是否大于或小于。如果为真则返回 TRUE,如果为假则返回 FALSE。
现在让我们尝试一些运算符。
值是否相等
使用“==”运算符比较值。
$num = 20;
if ($num == 20){
print "变量$num的值和20相等";
}
如果运算符左右两侧的值比较相等,则返回 TRUE。
如果比较运算符左右两侧的数据类型,这时候PHP会自动进行类型转换。例如,如果将数字 6 与字符串“6”进行比较,则将字符串转换为数字并作为数字进行比较。结果,该比较将为 TRUE。与不是数字的字符串进行比较时,每个值都按字典顺序逐个字符进行比较,而不管另一个是数字还是字符串。
作为一个特殊的例子,当比较数字 2 和字符串“2”时,它们是相等的,因为它们是作为数字进行比较的。如果想要比较字符串,那么可以使用“strcmp”函数,来代替“==”运算符来比较字符串。
要检查值是否不相等,请使用 ‘!=’ 或 ‘<>’ 运算符。在这种情况下,如果值不相等,它会返回 TRUE。
示例代码
让我们用一个简单的程序来试试吧
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="UTF-8">
<title>PHP TEST</title>
</head>
<body>
<p>PHP TES</p>
<p>
<?php
$var1 = 158;
if ($var1 == 158){
print "变量的值和158相等<br />";
}
$var1 = 18;
$var2 = '18';
if ($var1 == $var2){
print "18 == '18'是TRUE<br />";
}
$var1 = 'QingDao';
if ($var1 == 'QingDao'){
print "变量的值和QingDao相等";
}
?>
</p>
</body>
</html>
如果将上述文件放在WWW服务器的文档根目录下,用浏览器访问,将显示如下
可以看到这次所有的比较运算符都返回TRUE。
值和类型是否相等
‘==’运算符只判断值是否相等,所以即使是数字和字符串的比较也可能结果相等。因此,使用“===”运算符进行比较类型和值是否相等。
$num = 20;
if ($num === 20){
print "变量$num的值等于20";
}
比较运算符的左右两侧,如果类型和值相等则返回 TRUE。在上面的例子中,类型和值都匹配,所以它返回 TRUE。
对于“===”运算符,如果左右两侧的数据类型不同,则不进行类型转换。请参见以下示例。
$num = 20;
if ($num === "20"){
print "变量$num的值与字符串20相同";
这次它返回 FALSE,因为类型不同。
要检查值或类型是否不相等,请使用 !== 运算符。在这种情况下,如果值或类型不相等,它会返回 TRUE。
示例代码
让我们用一个简单的程序来试试吧。
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="UTF-8">
<title>PHP TEST</title>
</head>
<body>
<p>PHP TEST</p>
<p>
<?php
$var1 = 202;
if ($var1 === 202){
print "变量和202相同<br />";
}
$var1 = 15;
$var2 = '15';
if ($var1 === $var2){
print "15 === '15'是TRUE<br />";
}else{
print "15 === '15'是FALSE<br />";
}
$var1 = 'QingDao';
if ($var1 === 'QingDao'){
print "变量和QingDao相同";
}
?>
</p>
</body>
</html>
如果将上述文件放在WWW服务器的文档根目录下,用浏览器访问,将显示如下
可以看到如果值相等但类型不同,则返回FALSE。
大小の比較
使用'<‘、'<=’、’>’和’>=’运算符来比较两个值并确定它们是更大还是更小。
$num = 20;
if ($num > 10){
print "变量$num的值大于10.";
}
if ($num <= 30){
print "变量$num的值小于30.";
}
通过运算符使用运算符的右侧和左侧比较大小,如果为真则返回 TRUE,如果为假则返回 FALSE。在上面的例子中,两个条件表达式都返回 TRUE。
请注意,在比较字符串值的大小时,它们是从第一个字符开始按字典顺序进行比较的。
示例代码
让我们用一个简单的程序来试试吧。
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="UTF-8">
<title>PHP TEST</title>
</head>
<body>
<p>PHP TEST</p>
<p>
<?php
$var1 = 28;
if ($var1 < 40){
print "变量的值小于40.<br />";
}
$var1 = 'TOKYO';
$var2 = 'OSAKA';
if ($var1 > $var2){
print "东京大于大阪";
}else{
print "东京小于大阪";
}
?>
</p>
</body>
</html>
如果将上述文件放在WWW服务器的文档根目录下,用浏览器访问,将显示如下。
您可以使用比较运算符编写单个条件表达式,但您可能希望通过组合条件表达式(例如[“XX“ AND “YY”]或者是[“XX“ OR “YY”])来使用更复杂的条件表达式。在这种情况下我们如果使用逻辑运算符比较方便
PHP 提供的逻辑运算符如下。
演算式 | 表达式 | 意思 |
&& 或者是 and | a && b | 如果 a 和 b 都为真则为真 |
|| 或者是 or | a || b | 如果 a 或 b 中至少有一个为真,则为真 |
xor | a || b | 如果只有 a 或 b 之一为真,则为真 |
! | !a | 当 a 为真时为假,为假时为真 |
逻辑运算符使用左右两侧的关系运算符来描述条件表达式。然后,评估每个条件表达式和逻辑运算符的结果将整个表达式的评估作为逻辑值返回。。
逻辑积 (AND)
逻辑积(AND)是指,只有当运算符“&&”左右两边的条件表达式都为真时,整个表达式才为真。
左侧条件表达式 && 右侧条件表达式
左侧条件表达式 and 右侧条件表达式
※*您也可以使用“and”代替“&&”作为运算符。
以下是对左侧和右侧的条件表达式的每次求值对整个表达式的求值所发生的情况。
左侧 | 右侧 | 结果 |
真 | 真 | 真 |
真 | 假 | 假 |
假 | 真 | 假 |
假 | 假 | 假 |
举例来说明一下,如下的使用方法:
$old = 20;
if ($old > 10 && $old < 30){
print "年龄大于 10 岁小于 30岁" ;
}
上面如果左边的条件表达式“$old > 10”和右边的条件表达式“$old < 30”都为TRUE,则整个表达式“$old > 10 && $old < 30”返回真。
示例代码
让我们用一个简单的程序来试试吧。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>PHP TEST</title>
</head>
<body>
<p>PHP TEST</p>
<p>
<?php
$old = 28;
$pref = '青岛';
if ($old >= 20 && $pref == '青岛'){
print "出生于青岛,20岁以上。";
}
?>
</p>
</body>
</html>
如果将上述文件放在WWW服务器的文档根目录下,用浏览器访问,将显示如下。
逻辑和 (OR)
当运算符“||”左侧或右侧的至少一个条件表达式为真时,逻辑和 (OR) 计算整个表达式为真。
左侧条件表达式 || 右侧条件表达式
左侧条件表达式 or 右侧条件表达式
※您也可以使用“或”代替“||”作为运算符。
以下是对左侧和右侧的条件表达式的每次求值对整个表达式的求值所发生的情况。
左侧 | 右侧 | 结果 |
真 | 真 | 真 |
真 | 假 | 真 |
假 | 真 | 真 |
假 | 假 | 假 |
举例来说明一下,如下的使用方法:
$math = 61;
$english = 72;
if ($math > 60 || $english > 80){
print "成绩及格";
}
在上面,如果左侧的条件表达式“$math> 60”和右侧的条件表达式“ $english > 70”中的任何一个为 TRUE,则整个表达式“$math > 60 || $english > 70″ 为真。返回。
示例代码
让我们用一个简单的程序来试试吧。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>PHP TEST</title>
</head>
<body>
<p>PHP TEST</p>
<p>
<?php
$math = 48;
$english = 82;
print '数学:'.$math.',英語:'.$english.'<br />';
if ($math > 60 || $english > 60){
print "成绩及格<br />'";
}else{
print "成绩不及格<br />";
}
$math = 49;
$english = 59;
print '数学:'.$math.',英語:'.$english.'<br />';
if ($math > 60 || $english > 60){
print "成绩及格";
}else{
print "成绩不及格";
}
?>
</p>
</body>
</html>
如果将上述文件放在WWW服务器的文档根目录下,用浏览器访问,将显示如下。
在逻辑和(OR)中,如果运算符左右两边的条件表达式都为假,则整体为假。
排他的逻辑和(XOR)
如果运算符“xor”左侧或右侧的条件表达式之一为真,则排他的逻辑和(XOR)的整个表达式结果为真。
左侧条件表达式 xor 右侧条件表达式
以下是对左侧和右侧的条件表达式的每次求值对整个表达式的求值所发生的情况。
左侧 | 右侧 | 结果 |
真 | 真 | 假 |
假 | 假 | 真 |
假 | 真 | 真 |
假 | 假 | 假 |
举例来说明一下,如下的使用方法:
$math = 45;
$english = 82;
if ($math < 60 xor $english < 60){
print "需要补考";
}
上記では左辺の条件式「$math < 60」と右辺の条件式「$english < 60」のどちらか1つだけがTRUEの場合に式全体「$math < 60 xor $english < 60」がTRUEを返します。
示例代码
让我们用一个简单的程序来试试吧。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>PHP TEST</title>
</head>
<body>
<p>PHP TEST</p>
<p>
<?php
$math = 48;
$english = 83;
print '数学:'.$math.',英語:'.$english.'<br />';
if ($math < 60 xor $english < 60){
print "请参加补考";
}
?>
</p>
</body>
</html>
如果将上述文件放在WWW服务器的文档根目录下,用浏览器访问,将显示如下。
这次是当英语和数学,如果有一个低于60分的时候,必须参加补考。
逻辑否定 (NOT)
如果运算符“!”右侧的条件表达式为真,则逻辑非 (NOT) 将整个表达式计算为假,如果右侧的条件表达式为假,则计算为真。
! 右侧条件表达式
以下逻辑否定 (NOT)的结果表示:
右辺 | 结果 |
真 | 假 |
假 | 真 |
逻辑非是为了反转逻辑值的值,所以如果你改变你在右边写条件表达式的方式,你就不需要它了。但是,在很多情况下,使用逻辑非可以更清楚地描述条件表达式。
举例来说明一下,如下的使用方法:
$pref = '青岛';
if (!($pref == '大连')){
print "住在大连之外";
}
上面右边的条件表达式如果“$pref == ‘大连’”为TRUE,整个表达式“!$pref == ‘大连’”,返回FALSE,如果“$pref == ‘大连’” ” 为 FALSE, 整个表达式 “!$pref == ‘大连'” ,返回 TRUE。
※*请注意,逻辑否定运算符“!”的优先级较高,因此如果右侧的条件表达式未被括在括号中,则可能无法执行预期的处理。
示例代码
让我们用一个简单的程序来试试吧。
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="UTF-8">
<title>PHP TEST</title>
</head>
<body>
<p>PHP TEST</p>
<p>
<?php
$pref = '青岛';
if (!($pref == '大连')){
print "住在大连之外的城市";
}
?>
</p>
</body>
</html>
如果将上述文件放在WWW服务器的文档根目录下,用浏览器访问,将显示如下。
在if语句中,可以描述当条件表达式为真时要执行的处理以及当条件表达式为假时要执行的处理。使用以下格式:
if(条件表达式){
条件表达式为真时执行的程序1
条件表达式为真时执行的程序2
}else{
条件表达式为假时执行的程序1
条件表达式为假时执行的程序2
}
对条件表达式求值,如果为真(TRUE),则执行后续块中的处理,如果为假(FALSE),则执行else之后的块中的处理。
如果只执行一个进程,可以省略块,写成如下。
if(条件表达式)
条件表达式为真时执行的动作
else
当条件表达式为假时要采取的行动
我们经常像下面这样写:
$old = 20;
if($old >= 20){
print '年龄超过20岁';
}else{
print '年龄小于20岁';
}
示例代码
让我们用一个简单的程序来试试吧。
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="UTF-8">
<title>PHP TEST</title>
</head>
<body>
<p>PHP TEST</p>
<p>
<?php
$old = 19;
print '年龄:'.$old.'<br />';
if ($old >= 20){
print '年龄在20岁以上<br />';
}else{
print '年齢在20岁以下<br />';
}
$old = 48;
print '年齢:'.$old.'<br />';
if ($old >= 20){
print '年龄在20岁以上<br />';
}else{
print '年齢在20岁以下<br />';
}
?>
</p>
</body>
</html>
如果将上述文件放在WWW服务器的文档根目录下,用浏览器访问,将显示如下。
到目前为止,使用单个条件表达式来确定真或假,但也可以组合多个条件表达式。使用以下格式:
if(条件表达式1){
条件式 1 为真时执行的处理 1
条件式 1 为真时执行的处理 2
}elseif(条件表达式2){
条件式 2 为真时执行的处理 1
条件式 2 为真时执行的处理 2
}elseif(条件表达式3){
条件式 3 为真时执行的处理 1
条件式 3 为真时执行的处理 2
}else{
当所有条件表达式都为假时执行的过程
}
在此语法中,首先评估条件表达式 1。如果为真,则执行下一个块中的处理并结束。如果为假,则评估条件表达式 2。如果条件表达式 2 为真,则执行其下一个块中的处理,如果为假,则计算下一个条件表达式。最后,如果所有的条件表达式都为假,则执行else后面所写的块中的处理。
可以写入任意数量的 elseif。请注意,评估是从最上面的条件表达式开始的顺序进行的,如果条件表达式为真,则不执行其下面的条件表达式的评估。
请注意,如果不需要,可以省略 else 部分。
我们一般像下面这样写:
$domain = 'cn';
if ($domain == 'in'){
print '印度的域名';
}elseif ($domain == 'cn'){
print '中国的域名';
}elseif ($domain == 'jp'){
print '日本的域名';
}else{
print '域名出处不明了';
}
示例代码
让我们用一个简单的程序来试试吧。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>PHP TEST</title>
</head>
<body>
<p>PHP TEST</p>
<p>
<?php
$domain = 'cn';
print '域名:'.$domain.'<br />';
if ($domain == 'in'){
print '印度的域名';
}elseif ($domain == 'cn'){
print '中国的域名';
}elseif ($domain == 'jp'){
print '日本的域名';
}else{
print '域名出处不明了';
}
?>
</p>
</body>
</html>
如果将上述文件放在WWW服务器的文档根目录下,用浏览器访问,将显示如下。
如果变量值是北京,就运行程序1,如果是上海,就运行程序2,如果是青岛,就运行程序3,等等,可以描述通过顺序比较值匹配的每种情况的过程。使用 if 语句,我们可以写:
$pref = '广州';
if ($pref == '北京'){
// 运行程序1
}elseif ($pref == '上海'){
// 运行程序2
}elseif ($pref == '青岛'){
// 运行程序3
}elseif ($pref == '福州'){
// 运行程序4
}elseif ($pref == '沈阳'){
// 运行程序5
}
像这种分支运行的IF语句,我们如果用switch 语句会很方便的。switch语句的格式如下。
switch (expression) {
case value 1:
当 expression 等于 value 1 时运行程序 1;
当 expression 等于 value 1 时运行程序 2;
break;
case value 2:
当 expression 等于 value 2 时运行程序 1;
break;
case value3:
当 expression 等于 value3 时做什么;
break;
default:
当 expression 不等于任何值时做什么;
switch 语句来判断计算表达式的值,并按顺序,将其与写在 case 之后的值进行比较。如果有匹配值,则按顺序进行后面的处理,到达break时结束。
在 if 语句的情况下,可以使用块知道从哪里到哪里执行处理,但在 switch 语句中,块不会用于每个情况,而是按顺序执行处理,直到到达 break。 .
default 之后的动作描述了当表达式不匹配任何写在 case 之后的值时,要执行的动作。如果不需要默认,则不必描述它。
你实际上会这样写:
$pref = 'Guangzhou';
switch ($pref){
case 'Beijing':
// process
break;
case 'Shanghai':
// process
break;
case 'Fuzhou':
// process
break;
case 'Yunnan':
//process
break;
default:
//process
}
switch 语句可以使用 if 语句来编写,但是在顺序比较是否匹配时使用 switch 语句可能更简洁。
如果多个值匹配则做同样的事情
switch 语句检查 case 之后描述的每个值是否按顺序匹配。如果想在多个值匹配时做同样的处理,写成如下。
$pref = '广州';
switch ($pref){
case '北京':
print '这是北京';
break;
case '上海':
print '这是上海';
break;
case '福州':
print '这是福州';
break;
case '青岛':
print '这是青岛';
break;
}
在swtich语句中,如果case后面写入的值匹配,则依次执行后面的处理,直到到达break。如果有意省略break,其他case之后写的处理会继续执行。
请参见下面的示例。
$pref = '广州';
switch ($pref){
case '北京':
print '这是北京';
//break;
case '上海':
print '这是上海';
break;
case '福州':
print '这是福州';
break;
case '青岛':
print '这是青岛';
break;
}
在这种情况下,如果匹配到“北京”,则首先执行“print ‘这是北京’;”。由于没有break,原本在“上海”匹配时执行的“print ‘这是上海’;”也被执行了。然后找到break,结束switch语句。
这样,switch语句就不会执行分支处理,而是利用顺序执行处理,直到找到break,匹配到多个值时,执行相同的处理。可以写一个描述那 所以第一个例子可以写成:
$pref = '广州';
switch ($pref){
case '青岛':
case '烟台':
case '威海':
print '胶东半岛';
break;
case '福州':
print '福州';
break;
}
在这种情况下,变量“$pref”的值与“青岛”、“烟台”或“威海”任何一个匹配,“print ‘胶东半岛’;”也会被执行。
但是,switch 语句很容易出现的一个错误是忘记写“break”而执行了额外的处理。请注意,如果您故意省略“break”并编写这样的程序,则很难判断您是故意省略了“break”还是误省略了。
示例代码
让我们用一个简单的程序来试试吧。。
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="UTF-8">
<title>PHP TEST</title>
</head>
<body>
<p>PHP TEST</p>
<p>
<?php
$domain = 'cn';
print '域名:'.$domain.'<br />';
switch ($domain){
case 'in':
print '印度的域名';
break;
case 'cn':
print '中国的域名';
break;
case 'jp':
print '日本的域名';
break;
default:
print '不明域名';
}
?>
</p>
</body>
</html>
如果将上述文件放在WWW服务器的文档根目录下,用浏览器访问,将显示如下。
三元运算符是运算符之一,也是唯一使用三项的运算符。格式如下。
条件表达式 ? 表达式 1 : 表达式 2
计算条件表达式,如果为真则返回表达式 1,如果为假则返回表达式 2。
类似于 if..else 语法,但与 if 语句不同的是,三元运算符是运算符之一,因此它返回一个表达式作为结果。请注意,它并没有像 if 语句那样描述根据条件进行的处理。
我们在工作中实际上会这样写:
$lang = 'En';
$msg = $lang == 'zh-cn' ? '你好' : 'Hello';
print $msg;
在这种情况下,它评估变量“lang”的值是否等于“zh-cn”,如果为 TRUE,则将“你好”存储在变量“msg”中,如果为 FALSE,则存储“Hello”。
サンプルコード
では簡単なプログラムで試して見ます。
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="UTF-8">
<title>PHP TEST</title>
</head>
<body>
<p>PHP TEST</p>
<p>
<?php
$lang = 'zh-cn';
$msg = $lang == 'zh-cn' ? '你好' : 'Hello';
print $msg.'<br />';
$lang = 'en';
print $lang == 'zh-cn' ? '你好' : 'Hello';
?>
</p>
</body>
</html>
如果将上述文件放在WWW服务器的文档根目录下,用浏览器访问,将显示如下