PHP 表达式与运算符

时间:2025.6.20 编辑:SA 阅读量:940 全屏 二维码链接 浏览等级:0级

<?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 '这是女孩子'; } ?>