资讯专栏INFORMATION COLUMN

php中的操作符

Riddler / 1165人阅读

摘要:位操作符不经常使用。初始化类的实例访问类的成员三元操作符三元操作符可以被看做是的条件语句的简写。执行操作符一对反向单引号执行操作符实际上是一对操作符,是一对反向单引号。操作符允许检查一个对象是否是特定类的实例。

一、算术运算符

+(加) $a + $b
-(减) $a - $b
*(乘) $a * $b
/(除) $a / $b
%(取余) $a % $b

二、字符串操作符

.(点)(php中唯一的字符串操作符)

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

=(等于号)

2、复合赋值运算符

+= $a += $b 等价于 $a = $a + $b
-= $a -= $b 等价于 $a = $a - $b
*= $a *= $b 等价于 $a = $a * $b
/+ $a /= $b 等价于 $a = $a / $b
%= $a %= $b 等价于 $a = $a % $b
.= $a .= $b 等价于 $a = $a . $b

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

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

4、引用操作符

&

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

$a = 5;
$b = $a;

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

$a = 5;
$b = &$a;
$a = 7; // $a and $b are now both 7

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

unsert($a);

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

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

==(等于)
===(恒等于)
!=(不等于)
!==(不恒等于)
<>(不等于)
<(小于)
>(大于)
<==(小于等于)
>==(大于等于)

五、逻辑运算符

!(非)
&&(与)
||(或)
and(与)
or(或)
xor(异或) $a xor $b 如果$a或$b为true,则返回true。如果$a和$b都是true或都是false,则返回false。

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

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

&(按位与) $a & $b 将$a和$b的每一位进行“与”操作所得的结果
|(按位或) $a | $b 将$a和$b的每一位进行“或”操作所得的结果
~(按位非) ~$a 将$a的每一位进行“非”操作所得的结果
^(按位异或) $a ^ $b 将$a和$b的每一位进行“异或”操作所得的结果
<<(左位移) $a << $b 将$a左移$b位
>>(右位移) $a >> $b 将$a右移$b位

七、其他操作符

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

1、三元操作符?:

condition ? value if true : value if false

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

@(at符号)

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

$a = @(57 / 0);

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

``(一对反向单引号)执行操作符实际上是一对操作符,是一对反向单引号。

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

$out = `ls -la`;
echo "
 " . $out . "
";

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

$out = `dir c:`;
echo "
 " . $out . "
";

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

+(联合) $a + $b 返回一个包含了$a和$b中所有元素的数组
==(等价)$ == $b 如果$a和$b具有相同的键值对,返回true
===(恒等) $a === $b 如果$a和$b具有相同的键值对以及相同的顺序,返回true
!=(非等价) $a != $b 如果$a和$b不是等价的,返回true
<>(非等价) $a <> $b 如果$a和$b不是等价的,返回true
!==(非恒等) $ !== $b 如果$a和$b不是恒等的,返回true

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


文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/20753.html

相关文章

  • 【转】php命名空间

    摘要:命名空间可以解决以下两类问题用户编写的代码与内部的类函数常量或第三方类函数常量之间的名字冲突。在命名空间内部访问全局类函数和常量调用全局函数访问全局常量实例化全局类命名空间和动态语言特征命名空间的实现受到其语言自身的动态特征的影响。 PHP 命名空间(namespace)是在PHP 5.3中加入的,如果你学过C#和Java,那命名空间就不算什么新事物。 不过在PHP当中还是有着相当重要...

    Jrain 评论0 收藏0
  • PHP命名空间

    摘要:命名空间的支持版本,。另外,在目录外访问文件时,我们必须将目录名以及目录分隔符放在文件名之前得到。定义命名空间命名空间通过关键字来声明。常量常量的值是包含当前命名空间名称的字符串。 *命名空间的支持版本:PHP 5 > 5.3.0,PHP 7 。 什么是命名空间 从广义上来说,命名空间是一种封装事物的方法。在很多地方都可以见到这种抽象概念。例如,在操作系统中目录用来将相关文件分组,对于...

    RaoMeng 评论0 收藏0
  • PHP 开发中的外围资源性能分析(一)

    摘要:而是说,程序的外部资源,往往是影响性能的重要因素,尤其是当外部资源的连接和数据获取本身速度达不到理想的结果时。 暂且不讨论「PHP 是不是最好的编程语言」,本文我们将分别分析一下在 PHP 程序的后端外围资源和前端外围资源,它们对整个 PHP Web 应用体验的影响,这往往比语言本身大得多。 首先,后端外围资源,是指跟 PHP 运行过程中与语言本身无关的网络与 IO 操作、存储服务、中...

    anquan 评论0 收藏0
  • 编程语言分类

    摘要:转载转载目前编程语言可以分为两大类第一类是像,,之类的编译型语言,它们的共性是运行之前必须对源代码进行编译,然后运行编译后的目标文件。初始化完成后读取脚本文件,引擎对脚本文件进行词法分析,语法分析。 转载 http://www.php-internals.com/book/?p=chapt02/02-03-00-how-php-script-g... 转载 http://www.l...

    XiNGRZ 评论0 收藏0
  • PHP中的符号 ->、=> 和 :: 分别表示什么意思?以及this,self,pare

    摘要:定义属性,包括一个静态变量构造函数使用来调用静态变量使用调用必须使用域运算符号打印最次数值实例化对象输出我们这里只要注意两个地方,第行和第行。我们知道是指向父类的指针,一般我们使用来调用父类的构造函数。 一、->,=>和::的区别 ->前面的变量是一个对象: $user->friends_count 取对象的friends_count属性。 $t->homeTimeline($p) 调...

    null1145 评论0 收藏0
  • PHP回顾之流

    摘要:本文先简要跟踪底层流的原理,再回到用户态中流的使用。底层流我们知道中的函数可以打开本地文件等并返回一个句柄,函数能对资源句柄进行读写,用于关闭资源。更多关于底层流的操作可参考官方文档中开发者的流章节,本文不再深入。 转载请注明文章出处: https://tlanyan.me/php-review... PHP回顾系列目录 PHP基础 web请求 cookie web响应 sessi...

    gself 评论0 收藏0

发表评论

0条评论

Riddler

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<