<?php /* PHP表达式和运算符 !true $a+$b true?1:0 按运算功能分为: 1、算术运算符 + - * / % ++ --(除数不能为0,即运算符右边的因子) 2、字符串运算符 . 3、赋值运算符 = += -+ *= /= %= .= 4、比较(关系、条件)运算符 > < == === != !== <= >= 5、逻辑运算符 && and || or ! not 6、位运算符 &与 |或 ^异或 ~ << >> >>>无符号右移 7、执行运算符 ``(反引号,TAB键上方) 8、三元运算符 ?: 9、其它运算符 @ => -> :: & $ 运算符优先级: 尽量使用括号 () 来增加程序可读性 */ // 算术运算 - 取余(求模) // 闰年计算(能被4整除、不能被100整除,或者能被400整除) // 浏览器返回乱码时,把查看菜单中字符编码改成和程序文件一样的 $year = 2000; if( $year%4 == 0 && $yeah%100!=0 || $year%400 == 0){ echo "$year 是一个闰年!<br>"; } // 控制数值范围 $n = 10; $c = $n % 100; // 余数不会超过100,100的位置尽量不要用负数或者小数 $n++; // $n = $n + 1; 值一样,但运算顺序是先 赋值,再自 +1 $n--; // $n = $n - 1; ++$n; // $n = $n + 1; 值一样,先 自 +1 再 赋值 --$n; // $n = $n - 1; $r = $n++; // $r = 10, $n = 10+1 $l = ++$n; // $l = 12, $n = 11+1 echo "/$n++ = $r<br>++/$n = $l<br>"; // 字符串连接 $n .= 888; // 任何类型使用 . 或者 .= 都会直接连接转换成字符串 echo var_dump($n)."<br>"; // === 全等 和 !== 全不等:要求类型和值都相同 $a = 100; $b = "100"; echo var_dump($a)."<br>"; echo var_dump($b)."<br>"; if($a === $b) echo "$a 全等于 $b<br>"; else echo "$a 和 /"$b/" 不是全等于<br>"; if($a == $b) echo "$a 等于 $b<br>"; // 位运算符(左乘右除,移一位是2倍,2位是4倍 <<1=*2 >>1=/2) $a = 10; // 1010 = 10 $b = $a << 1; // 10100 = 20 $c = $a >> 1; // 101 = 2 echo var_dump($a)."<br>"; echo var_dump($b)."<br>"; echo var_dump($c)."<br>"; // 异或 ^,相当于减运算 $a = 10; $b = 8; $c = $a ^ $b; // 不同为1,相同为0 $d = $b | $a; // 相同为1,不同为0,所以 $a|$b和$b|$a结果相同 echo var_dump($c)."<br>"; echo var_dump($d)."<br>"; // @ 忽略错误运算符,直接继续向下运行 @gettype(); /* PHP 支持一个执行运算符:反引号(``)。注意这不是单引号! PHP 将尝试将反引号中的内容作为外壳命令来执行,并将其输出信息返回 例如,可以赋给一个变量而不是简单地丢弃到标准输出。 使用反引号运算符“`”的效果与函数 shell_exec() 相同。 注: 反引号运算符在激活了 安全模式 或者关闭了 shell_exec() 时是无效的 */ $output = `ipconfig/all`; echo "<pre>$output</pre>"; ?>