<?php
$age = 18; // 设置整型变量,值为18
$age++; // 使用后置递增运算符(等价于 $age = $age + 1;)
$age--; // 使用后置递减运算符(等价于 $age = $age - 1;)
$age += 1; // 使用加法赋值运算符(等价于 $age = $age + 1;)
$age += 18; // 使变量$age的值加上18后再赋值给自己
$age = 0; // 设置变量$age的值为0
$age = 17; // 赋值操作(连续赋值会覆盖前一次结果)
$result = $age ? $age + 10 : $age + 20; // 使用三元运算符计算结果并存储
function number() { // 定义函数
return 30;
}
$num = number(); // 调用函数并将返回值赋值给变量$num
?>
<?php
/********************算术运算符********************/
$m = 10;
$n = 3;
$number = 0;
$number = $m + $n; // 加法: 13
$number = $m - $n; // 减法: 7
$number = $m * $n; // 乘法: 30
$number = $m / $n; // 除法: 3.333...
$number = $m % $n; // 取模: 1
$number = -$m; // 取反: -10
/********************赋值运算符********************/
$number = $m + $n; // 变量$m和$n相加后的值赋给变量$number
$m += 5; // 变量$m的值加上5后,再赋值给变量$m本身 ($m=15)
$m -= 2; // 变量$m的值减去2后,再赋值给变量$m本身 ($m=13)
$string = "这是"; // 为变量赋字符串值
$string .= "赋值运算符"; // 在变量$string后添加上字符串
/********************位运算符********************/
$m & $n; // 按位与操作 (13 & 3 = 1)
$m | $n; // 按位或操作 (13 | 3 = 15)
$m ^ $n; // 按位异或操作 (13 ^ 3 = 14)
~$n; // 按位非操作 (~3 = -4)
$m << $n; // 左移操作 (13 << 3 = 104)
$m >> $n; // 右移操作 (13 >> 3 = 1)
$a = "a";
$b = "b";
$a ^ $b; // 字符按位异或操作 ("a" ^ "b" = "\x01")
/*******************比较运算符*******************/
$m == $n; // 比较两值是否等于,相等返回TRUE,不相等返回FALSE
$m === $n; // 比较两值及其类型是否相等,相等返回TRUE,不相等返回FALSE
$m != $n; // 比较两值是否不等于,不相等返回TRUE,相等返回FALSE
$m <> $n; // 比较两值是否不等于,不相等返回TRUE,相等返回FALSE
$m !== $n; // 比较两值及类型是否不等于,不相等返回TRUE,相等返回FALSE
$m < $n; // 比较$m是否小于$n,如果$m小于$n返回TRUE,否则返回FALSE
$m > $n; // 比较$m是否大于$n,如果$m大于$n返回TRUE,否则返回FALSE
$m <= $n; // 比较$m是否小于等于$n,如果$m小于等于$n返回TRUE,否则返回FALSE
$m >= $n; // 比较$m是否大于等于$n,如果$m大于等于$n返回TRUE,否则返回FALSE
/*******************错误控制运算符*******************/
@include("inc.php"); // 忽略包含文件时产生的错误
$fp = @fopen("user.xml", "w"); // 忽略打开文件产生的错误信息
function test() {
return 10;
}
$number = @test(); // 忽略调用函数失败产生的错误信息
/*******************执行运算符*******************/
$output = `dir`; // 使用执行运算符运行DOS命令dir,并将返回的结果赋值给$output变量
echo "<pre>$output</pre>";
/*******************递增递减运算符*******************/
$m = 10;
echo $m++; // 后递增运算符,输出变量内容后,再进行递增操作,输出10
echo $m; // 输出11
$m = 10;
echo ++$m; // 前递增运算符,先进行递增操作,输出11
echo $m; // 输出11
$m = 10;
echo $m--; // 后递减运算符,输出变量内容后,再进行递减操作,输出10
echo $m; // 输出9
$m = 10;
echo --$m; // 前递减运算符,先进行递减操作,输出9
echo $m; // 输出9
$n = 'h';
echo ++$n; // 递增运算符使用在变量前 ('i')
echo $n++; // 递增运算符使用在变量后 ('i')
echo $n--; // 递减运算符使用在变量后 ('j')
echo --$n; // 递减运算符使用在变量前 ('h')
/*******************逻辑运算符*******************/
$m and $n; // 如果运算符两边的值都是TRUE,那么值为TRUE,否则为FALSE
$m && $n; // 如果运算符两边的值都是TRUE,那么值为TRUE,否则为FALSE
$m or $n; // 如果运算符两边有一个或二个TRUE值,则值为TRUE,否则为FALSE
$m || $n; // 如果运算符两边有一个或二个TRUE值,则值为TRUE,否则为FALSE
$m xor $n; // 当运算符两边有一个TRUE时,值为TRUE.但是运算符两边不能同时是TRUE值
!$m; // 当运算符右边的值为TRUE时,值为FALSE,当右边为FALSE时,值为TRUE
/*******************字符串运算符*******************/
$m = "我是";
$n = "字符串";
echo $m . $n; // 输出:我是字符串 (使用.连接两个字符串)
$m = "我是";
echo $m .= "字符串"; // 输出:我是字符串 (使用.=把右边的"字符串"附加到左边的变量中)
/*******************数组运算符*******************/
$m = array(1, 2, 3, 4, 5, 6, 7, 8); // 定义数组
$n = array(1, 2, 3, 4, 5, 6, 7, 8, 9); // 定义数组
$m + $n; // 联合两个数组 (结果: [1,2,3,4,5,6,7,8,9])
$m == $n; // 比较两个数组是否相等 (键值对相同但长度不同: FALSE)
$m === $n; // 比较两个数组是否全等于 (键值对和长度都需相同: FALSE)
$m != $n; // 比较两个数组是否不等于 (TRUE)
$m <> $n; // 比较两个数组不等的另一种方法 (TRUE)
$m !== $n; // 比较两个数组是否不全等于 (TRUE)
/*******************类型运算符*******************/
class Boy {} // 定义一个空的类
class Girl {} // 定义一个空的类
$human = new Boy(); // 实例化类
if ($human instanceof Boy) { // 使用类型运算符检测对象
echo '这是男孩子';
}
if ($human instanceof Girl) {
echo '这是女孩子';
}
?>
|