
日期:2008-08-04 作者:喜腾小二 来源:喜腾网 培训中心
PHP 逻辑处理是最常应用的功能,但是很多时候会造成逻辑过多而结构复杂维护困难,这里我们将讲解如何制作简单易用的程序。
白话解释:逻辑处理就是所谓的条件判断,例如程序中常用的if、else、elseif等
为什么要提供这样的处理,可以用在什么地方?
逻辑处理应用最常见的例如注册用户、用户登录、个人资料修改等
运算符是可以通过给出的一或多个值(用编程行话来说,表达式)来产生另一个值(因而整个结构成为一个表达式)的东西。所以可以认为函数或任何会返回一个值(例如
print)的结构是运算符,而那些没有返回值的(例如 echo)是别的东西。
有三种类型的运算符。第一种是一元运算符,只运算一个值,例如 !(取反运算符)或
++(加一运算符)。第二种是有限二元运算符,PHP 支持的大多数运算符都是这种。列表见下节运算符优先级。
第三种是三元运算符:?:。它应该被用来根据一个表达式在另两个表达式中选择一个,而不是用来在两个语句或者程序路线中选择。把整个三元表达式放在扩号里是个很好的主意。
运算符优先级
| 结合方向 | 运算符 | 附加信息 |
|---|---|---|
| 非结合 | new | new |
| 左 | [ | array() |
| 非结合 | ++ -- | 递增/递减运算符 |
| 非结合 | ! ~ - (int) (float) (string) (array) (object) @ |
类型 |
| 左 | * / % | 算数运算符 |
| 左 | + - . | 算数运算符和字符串运算符 |
| 左 | << >> | 位运算符 |
| 非结合 | < <= > >= | 比较运算符 |
| 非结合 | == != === !== | 比较运算符 |
| 左 | & | 位运算符和引用 |
| 左 | ^ | 位运算符 |
| 左 | | | 位运算符 |
| 左 | && | 逻辑运算符 |
| 左 | || | 逻辑运算符 |
| 左 | ? : | 三元运算符 |
| 右 | = += -= *= /= .= %= &= |= ^= <<= >>= |
赋值运算符 |
| 左 | and | 逻辑运算符 |
| 左 | xor | 逻辑运算符 |
| 左 | or | 逻辑运算符 |
| 左 | , | 多处用到 |
算术运算符
| 例子 | 名称 | 结果 |
|---|---|---|
| -$a | 取反 | $a 的负值。 |
| $a + $b | 加法 | $a 和 $b 的和。 |
| $a - $b | 减法 | $a 和 $b 的差。 |
| $a * $b | 乘法 | $a 和 $b 的积。 |
| $a / $b | 除法 | $a 除以 $b 的商。 |
| $a % $b | 取模 | $a 除以 $b 的余数。 |
除号(“/”)总是返回浮点数,即使两个运算数是整数(或由字符串转换成的整数)也是这样。
赋值运算符
基本的赋值运算符是“=”。一开始可能会以为它是“等于”,其实不是的。它实际上意味着把右边表达式的值赋给左边的运算数。
这里提供一个最简单的应用:
| 例子 | 名称 | 结果 |
|---|---|---|
| $a == $b | 等于 | TRUE,如果 $a 等于 $b。 |
| $a === $b | 全等 | TRUE,如果 $a 等于 $b,并且它们的类型也相同。(PHP 4 引进) |
| $a != $b | 不等 | TRUE,如果 $a 不等于 $b。 |
| $a <> $b | 不等 | TRUE,如果 $a 不等于 $b。 |
| $a !== $b | 非全等 | TRUE,如果 $a 不等于 $b,或者它们的类型不同。(PHP 4 引进) |
| $a < $b | 小与 | TRUE,如果 $a 严格小于 $b。 |
| $a > $b | 大于 | TRUE,如果 $a 严格 $b。 |
| $a <= $b | 小于等于 | TRUE,如果 $a 小于或者等于 $b。 |
| $a >= $b | 大于等于 | TRUE,如果 $a 大于或者等于 $b。 |
如果比较一个整数和字符串,则字符串会被转换为整数。如果比较两个数字字符串,则作为整数比较。此规则也适用于
switch 语句。
提供简单的示例:
递增/递减运算符
| 例子 | 名称 | 效果 |
|---|---|---|
| ++$a | 前加 | $a 的值加一,然后返回 $a。 |
| $a++ | 后加 | 返回 $a,然后将 $a 的值加一。 |
| --$a | 前减 | $a 的值减一, 然后返回 $a。 |
| $a-- | 后减 | 返回 $a,然后将 $a 的值减一。 |
一个简单的示例脚本:
| 例子 | 名称 | 结果 |
|---|---|---|
| $a + $b | 联合 | $a 和 $b 的联合。 |
| $a == $b | 相等 | 如果 $a 和 $b 具有相同的键/值对则为 TRUE。 |
| $a === $b | 全等 | 如果 $a 和 $b 具有相同的键/值对并且顺序和类型都相同则为 TRUE。 |
| $a != $b | 不等 | 如果 $a 不等于 $b 则为 TRUE。 |
| $a <> $b | 不等 | 如果 $a 不等于 $b 则为 TRUE。 |
| $a !== $b | 不全等 | 如果 $a 不全等于 $b 则为 TRUE。 |
+ 运算符把右边的数组附加到左边的数组后面,但是重复的键值不会被覆盖。
一个简单的示例脚本:
打印结果:
组合变量 $a 与 $b: |