首頁  >  文章  >  後端開發  >  php中的操作符

php中的操作符

WBOY
WBOY原創
2016-07-25 08:45:531199瀏覽

一、算术运算符

  1. +(加) $a + $b
  2. -(减) $a - $b
  3. *(乘) $a * $b
  4. /(除) $a / $b
  5. %(取余) $a % $b
复制代码

二、字符串操作符

  1. .(点)(php中唯一的字符串操作符)
复制代码

三、赋值运算符
1、简单赋值运算符

  1. =(等于号)
复制代码

2、复合赋值运算符

  1. += $a += $b 等价于 $a = $a + $b
  2. -= $a -= $b 等价于 $a = $a - $b
  3. *= $a *= $b 等价于 $a = $a * $b
  4. /+ $a /= $b 等价于 $a = $a / $b
  5. %= $a %= $b 等价于 $a = $a % $b
  6. .= $a .= $b 等价于 $a = $a . $b
复制代码

3、前置递增递减运算和后置递增递减运算

  1. $a++ $a本身的值没有变,但是整个表达式的值将变成$a + 1
  2. ++$a $a本身的值改变了,$a先被 $a = $a + 1,然后再返回$a + 1
  3. $a-- $a本身的值没有变,但是整个表达式的值将变成$a - 1
  4. --$a $a本身的值改变了,$a先被 $a = $a - 1,然后再返回$a + 1
复制代码

4、引用操作符

  1. &
复制代码

引用操作符&可以在关联赋值中使用。通常,在讲一个变量的值赋给另一个变量的时候,先产生元变量的一个副本,然后再将它保存在内存的其他地方。例如:

  1. $a = 5;
  2. $b = $a;
复制代码

上例中,第一行代码是给$a赋值;第二行代码是首先产生$a的一个副本,然后再将它保存在$b中。如果随后改变$a的值,$b的值将不会改变。在看下面的例子:

  1. $a = 5;
  2. $b = &$a;
  3. $a = 7; // $a and $b are now both 7
复制代码

注意:引用不是一个独立的第二个指针,而是使用了原变量的指针,即$a和$b都指向了内存的相同地址。上例中,第二行就是$b引用的$a,当第三行$a的值发生变化时,引用过它的$b也跟着发生了变化。我们可以通过重置打破这种引用关联:

  1. unsert($a);
复制代码

注意:这个重置只是重置了$a,它不会改变$b(7)的值,unsert($a)仅仅破坏了$a和值7保存在内存中的关联。可以把unsert($a)理解为对$a的注销。

四、比较运算符
比较运算符返回的是逻辑布尔值:true或false。

  1. ==(等于)
  2. ===(恒等于)
  3. !=(不等于)
  4. !==(不恒等于)
  5. (不等于)
  6. >(大于)
  7. >==(大于等于)
复制代码

五、逻辑运算符

  1. !(非)
  2. &&(与)
  3. ||(或)
  4. and(与)
  5. or(或)
  6. xor(异或) $a xor $b 如果$a或$b为true,则返回true。如果$a和$b都是true或都是false,则返回false。
复制代码

注意:and和or比&&和||的优先级低。

六、位操作符
位操作符可以将一个整型变量当作一些列的位(Bit,比特)来处理。位操作符不经常使用。

  1. &(按位与) $a & $b 将$a和$b的每一位进行“与”操作所得的结果
  2. |(按位或) $a | $b 将$a和$b的每一位进行“或”操作所得的结果
  3. ~(按位非) ~$a 将$a的每一位进行“非”操作所得的结果
  4. ^(按位异或) $a ^ $b 将$a和$b的每一位进行“异或”操作所得的结果
  5. >>(右位移) $a >> $b 将$a右移$b位
复制代码

七、其他操作符

  1. ,(逗号) 用来分割函数参数或其他列表项,该操作符经常被附带(非独立)地使用。
  2. new(初始化类的实例)
  3. ->(访问类的成员)
复制代码

1、三元操作符?:

  1. condition ? value if true : value if false
复制代码

三元操作符可以被看做是 if else 的条件语句的简写。
2、错误抑制操作符

  1. @(at符号)
复制代码

错误抑制操作符@可以在任何表达式前面使用,即任何有值的或可以计算出值的表达式之前,例如:

  1. $a = @(57 / 0);
复制代码

如果上例中并未使用错误抑制操作符@,那么该行代码就会抛出一个除0警告,使用了@,该警告将被抑制,也就是不被抛出。
如果通过这种方法抑制了一些警告,一点遇到警告,就需要通过我们提前写好的处理错误的语句来处理。
如果已经启用了php.ini中的track_errors特性,错误信息将被保存在全局变量$php_errormsg中。
3、执行操作符

  1. ``(一对反向单引号)执行操作符实际上是一对操作符,是一对反向单引号。
复制代码

php将试着将反向单引号之间的命令当做服务器端的命令来执行。表达式的值就是命令的执行结果。例如在unix系统中,可以使用:

  1. $out = `ls -la`;
  2. echo '
     ' . $out . '
    ';
复制代码

在windows服务器上,可以使用:

  1. $out = `dir c:`;
  2. echo '
     ' . $out . '
    ';
复制代码

以上两种情况都会得到一个目录列表并且将该列表保存在$out中,然后,再将该列表显示在浏览器中或用其他方法来处理。
4、数组操作符
注意:下面语法说明中,$a和$b都不是普通标量值,而是数组类型

  1. +(联合) $a + $b 返回一个包含了$a和$b中所有元素的数组
  2. ==(等价)$ == $b 如果$a和$b具有相同的键值对,返回true
  3. ===(恒等) $a === $b 如果$a和$b具有相同的键值对以及相同的顺序,返回true
  4. !=(非等价) $a != $b 如果$a和$b不是等价的,返回true
  5. (非等价) $a $b 如果$a和$b不是等价的,返回true
  6. !==(非恒等) $ !== $b 如果$a和$b不是恒等的,返回true
复制代码

5、类型操作符
instanceof(唯一的类型操作符),该操作符在面向对象编程中使用。
instanceof操作符允许检查一个对象是否是特定类的实例。例如:

  1. class sampleClass();
  2. $myObject = new sampleClass();
  3. if ($myObject instanceof sampleClass) {
  4. echo 'myObject is an instance of sampleClass';
  5. }
  6. ?>
复制代码
php


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn