资讯专栏INFORMATION COLUMN

运算符 - PHP手册笔记

fxp / 3364人阅读

摘要:运算符自动返回一个引用。右移时以符号位填充,意味着正负号保留。自起,可以省略三元运算符中间那部分。三元运算符是从左往右计算的。递增递减运算符递增递减运算符不影响布尔值。字符串运算符第一个是连接运算符,第二个是连接赋值运算符。数组运算符联合。

运算符优先级

每种编程语言都有运算符,运算符要学会灵活使用。

运算符拥有不同的优先级和结合方向。


在需要的时候使用括号,可以增强代码的可读性。

算术运算符

取模运算符的结果和被除数的符号相同。

赋值运算符将原变量的值拷贝到新变量中,有个例外就是碰到对象时,是以引用赋值的,除非明确使用clone关键字来拷贝。

new运算符自动返回一个引用。

位运算符

位移有一下几个规律:

向任何方向移出去的位都被丢弃。

左移时以零填充,且正负号不被保留。

右移时以符号位填充,意味着正负号保留。

这一节的重点就是把手册重点的几个示例程序看懂吧。示例中字符串的XOR运算比较难理解,这个以后再看。还有整数的位移,感觉理解就好吧。

比较运算符

普通等号==只需类型转换后两值相等就返回真。

如果比较一个数字和字符串或者比较涉及到数字内容的字符串,则字符串会被转换为数值并且比较按照数值来进行。


自PHP 5.3起,可以省略三元运算符中间那部分。表达式expr1 ?: expr3在expr1真时返回expr1,否则返回expr3。三元运算符是从左往右计算的。

错误控制运算符

PHP支持一个错误控制运算符@,@运算符只对表达式有效。将其放在表达式前,该表达式可能产生的任何错误信息都被忽略掉。

不能把它放在函数或类的定义之前,也不能用于条件结构例如if和foreach等。

执行运算符

PHP支持一个执行运算符:反引号,就是键盘左上角那个。效果与函数shell_exec()相同。

$outip
"; echo "
$output
";

反引号运算符在激活了安全模式或者关闭了shell_exec()时是无效的。

注意!反引号不能在双引号字符串中使用。

递增递减运算符

递增/递减运算符不影响布尔值。
递减NULL值也没有效果,但是递增NULL的结果是1。

在处理字符变量的算术运算时,PHP沿袭了Perl的习惯,而非C的。例如,在Perl中$a = "Z"; $a++;将把$a变成"AA"。

注意!字符变量只能递增,不能递减,并且只支持纯字母(a-z和A-Z)。递增/递减其他字符字符变量则无效,原字符串没有变化。


逻辑运算符

||or的优先级高。&&and的优先级高。

字符串运算符

第一个是连接运算符.,第二个是连接赋值运算符.=

数组运算符

联合:$a + $b。把右边的数组元素附加到左边的数组后面,两个数组中都有的键名,则只用左边数组中的,有变动额被忽略。

相等:$a == $b。具有相同的键值对。

全等:$a === $b。具有相同的键值对,并且顺序和类型都相同。

不等:$a != $b$a <> $b

不全等:$a !== $b

数组中的单元如果具有相同的键名和值则比较时相等,不要在意顺序和类型。

 "banana", "0" => "apple");
var_dump($a);
var_dump($b);
var_dump($a == $b);
var_dump($a === $b);

输出结果如下所示。

array (size=2)
  0 => string "apple" (length=5)
  1 => string "banana" (length=6)

array (size=2)
  1 => string "banana" (length=6)
  0 => string "apple" (length=5)

boolean true

boolean false
类型运算符

PHP中有一个类型运算符instanceof,用于确定一个PHP变量是否属于某一类的实例。


注意,instanceof不允许用来检测常量。

(全文完)

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

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

相关文章

  • 基本语法 - PHP手册笔记

    摘要:标记如果文件内容是纯代码,最好在文件末尾删除结束标记。这可以避免在结束标记之后万一意外加入了空格或者换行符,会导致开始输出这些空白,而脚本中此时并无输出的意图。指令分隔符需要在每个语句后用分号结束指令,这个分号就叫指令分隔符。 PHP标记 如果文件内容是纯PHP代码,最好在文件末尾删除PHP结束标记。这可以避免在PHP结束标记之后万一意外加入了空格或者换行符,会导致PHP开始输出这些空...

    APICloud 评论0 收藏0
  • 重读PHP手册笔记系列(二)

    摘要:通过注册自动加载器,脚本引擎在出错失败前有了最后一个机会加载所需的类构造函数和析构函数构造函数允行开发者在一个类中定义一个方法作为构造函数。析构函数会在到某个对象的所有引用都被删除或者当对象被显式销毁时执行抽象类支持抽象类和抽象方法。 语言参考 1. 类型 1.1 简介 showImg(https://segmentfault.com/img/bVbqlNJ?w=531&h=379);...

    马龙驹 评论0 收藏0
  • PHP 手册阅读笔记 - 语言参考篇

    摘要:最近计划把手册,认真的先过一遍。语言参考类型新认知强制转换类型用。后期静态绑定从这里开始语言参考生成器新认知生成器汗水的核心是关键字。语言参考预定义变量超全局变量前一个错误信息原始数据以上 showImg(https://segmentfault.com/img/remote/1460000010147451); 最近计划把 PHP手册,认真的先过一遍。记录一些以前不知道,不明确的知识...

    Developer 评论0 收藏0
  • 重读PHP手册笔记系列(一)

    摘要:手册序言,即,是一种被广泛应用的开源通用脚本语言,尤其适用于开发并可嵌入中去。该语言的主要目标是允许开发人员快速编写动态生成的页面,但的用途远不只于此。对于服务器模块版本的,仅在服务器启动时读取一次。 PHP手册 序言 PHP,即PHP: Hypertext Preprocessor,是一种被广泛应用的开源通用脚本语言,尤其适用于 Web 开发并可嵌入 HTML 中去。它的语法利用了 ...

    hikui 评论0 收藏0
  • 入门指引 - PHP手册笔记

    摘要:对于浏览器,的值可能是可以通过调用函数,判断用户代理是否为浏览器。处理表单处理表单的方式很方便,可以使用超全局变量获得数据。使得之中的特殊字符被正确的编码,从而不会被使用者在页面注入标签或者代码。 曾经简单的学习过PHP,看的是《PHP和MySQL Web开发》,还有万能的搜索引擎的帮助。这次准备系统的学习一下,参考资料是PHP Manual。 PHP能做什么 PHP主要用于服务端的脚...

    Reducto 评论0 收藏0

发表评论

0条评论

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