第九节:运算符错误控制运算符执行运算符递增/递减运算符逻辑运算符字符串运算符类型运算符数组运算符

错误控制运算符

PHP支持一个错误运算运算符:@。当将其放置在一个PHP表达式之前,该表达式可能产生的任何错误信息都被忽略掉。

@运算符只对表达式有些。对新手来说一个简单的规则就是:如果能从某处得到值,就能在它前面加上@运算符。例如,可以把它放在变量,函数和include()调用,常量,等等之前。不能把它放在函数和类的定义之前,也不能用于条件结果例如IF 和FORECAH等。

执行运算符

PHP支持一个执行运算符:反引号(``)。注意不是单引号!PHP将尝试将反引号的内容作为外壳命令来执行,并将其输出信息返回 (例如,可以赋给一个变量而不是简单地丢弃到标准输出)。使用反引号运算符“·”的效果与函数shell_exec()相同。

递增/递减运算符

PHP支持C风格的前/后递增与递减运算符。

递增/递减运算符不影响布尔值。

注意前加与后加的返回值 不同,其实就是一个带返回值的函数

++$a  前加 $a的值加一,返$a

$a++  后加 返回$a 然后将$a值加一。

--$a 前减 $a值减一 然后返回$a

$a-- 返回$a 然后减一

注意递减NULL 的值没有效果,但是递增NULL等于1.

逻辑运算符

逻辑运算符中 比较重要的就是 and和&& or和|| 的区别 他们的区别就在于and和or是运算优先级很低的符号。主要是低于=号,这样使很多地方使用不当会造成错误。

还有一个是xor 异或符号,我用的较少,他的意思是两者一个为,其中有个一个true另一个必须是false,整体才返回true。 

字符串运算符

字符串运算符有两个,一个是.另一个是.=,.就不用说了吧。.=就像+= -+ x+一样,等于$a=$a(各种符号)$b;

类型运算符 instanceof

 1 <?php
 2 //变量时此对象的实例
 3 class myclass{};
 4 $a=new myclass;
 5 var_dump($a instanceof myclass);
 6 //用字符串表示
 7 $b='myclass';
 8 var_dump($a instanceof $b);
 9 //用对象表示
10 $a=new myclass();
11 $b=new myclass();
12 var_dump($a instanceof $b);
13 ?>

 数组运算符

主要就是+号和array_merge的区别

+号运算符是把右边的数组元素(除去左边的数组元素相同的那些元素)附加到左边的数组后面,但是重复的键值不会被覆盖。

 而 array_merge 右边会覆盖左边,如果所有的KEY都是整数讲进行从新索引。

1 <?php
2 $a=array(1=>1,3=>4,6=>4);
3 $b=array(1=>3,7=>6,4=>9);
4 var_dump(array_merge($a,$b));
5 echo '<hr>';
6 var_dump($a+$b);
7 ?>

输出结果:

array(6) { [0]=> int(1) [1]=> int(4) [2]=> int(4) [3]=> int(3) [4]=> int(6) [5]=> int(9) }


array(5) { [1]=> int(1) [3]=> int(4) [6]=> int(4) [7]=> int(6) [4]=> int(9) }

原文地址:https://www.cnblogs.com/saw2012/p/2875992.html