懒的狠,直接粘来。 自己看
标签: PHP
C#、PHP、Python 运算符的优先级
C#、PHP、Python 运算符的优先级
C# 运算符优先级
优先级
|
类别
|
运算符
|
1
|
基本
|
(x) x.y f(x) a[x] x++ x――new typeof sizeof checked unchecked
|
2
|
单目
|
+ - ! ~ ++x ――x (T)x
|
3
|
乘法与除法
|
* / %
|
4
|
加法与减法
|
+ -
|
5
|
移位运算
|
<< >>
|
6
|
关系运算
|
< > < = >=
|
7
|
条件等
|
= = ! =
|
8
|
位逻辑与
|
&
|
9
|
位逻辑异或
|
^
|
10
|
位逻辑或
|
|
|
11
|
条件与
|
&&
|
12
|
条件或
|
‖
|
13
|
条件
|
?:
|
14
|
赋值
|
= *= /= %= += -= <<= >>= &= ^= |=
|
上表源自: http://baike.baidu.com/view/262524.htm#4
C# 提供大量运算符,这些运算符是指定在表达式中执行哪些操作的符号。 ==, !=, <, >, <=, >=, binary +, binary -, ^, &,’ xml:space=”preserve”>整型运算包括 ==、!=、<、>、<=、>=、binary +、binary -、^、& |~, ++, –, and sizeof() are generally allowed on enumerations.’ xml:space=”preserve”>、~、++、– 和 sizeof(),通常在枚举时允许这些运算。 overloaded by the user, thus changing their meaning when applied to a user-defined type.’ xml:space=”preserve”>此外,很多运算符可被用户重载,由此在应用到用户定义的类型时更改这些运算符的含义。
下表列出了按发型版本不同的 C# 运算符:
- Visual Studio 2005 http://msdn.microsoft.com/zh-cn/library/6a71f45d(v=vs.80).aspx
- Visual Studio 2008 http://msdn.microsoft.com/zh-cn/library/6a71f45d(v=vs.90).aspx
- Visual Studio 2010 http://msdn.microsoft.com/zh-cn/library/6a71f45d(v=vs.100).aspx
- Visual Studio 2012 http://msdn.microsoft.com/zh-cn/library/6a71f45d(v=vs.110).aspx
- Visual Studio 2013 http://msdn.microsoft.com/zh-cn/library/6a71f45d(v=vs.120).aspx
PHP运算符优先级
结合方向 | 运算符 | 附加信息 |
---|---|---|
非结合 | clone new |
clone 和 new |
左 | [ |
array() |
非结合 | ++ -- |
递增/递减运算符 |
非结合 | ~ - (int) (float) (string) (array) (object) (bool) @ |
类型 |
非结合 | instanceof |
类型 |
右结合 | ! |
逻辑操作符 |
左 | * / % |
算术运算符 |
左 | + - . |
算术运算符 和 字符串运算符 |
左 | << >> |
位运算符 |
非结合 | < <= > >= <> |
比较运算符 |
非结合 | == != === !== |
比较运算符 |
左 | & |
位运算符 和 引用 |
左 | ^ |
位运算符 |
左 | | |
位运算符 |
左 | && |
逻辑运算符 |
左 | || |
逻辑运算符 |
左 | ? : |
三元运算符 |
右 | = += -= *= /= .= %= &= |= ^= <<= >>= |
赋值运算符 |
左 | and |
逻辑运算符 |
左 | xor |
逻辑运算符 |
左 | or |
逻辑运算符 |
左 | , |
多处用到 |
Python 运算符优先级
这个表给出Python的运算符优先级(从低到高).
从最低的优先级(最松散地结合)到最高的优先级(最紧密地结合)。
这意味着在一个表达式中,Python会首先计算表中较下面的运算符,然后在计算列在表上部的运算符。
运算符 | 描述 |
---|---|
lambda |
Lambda表达式 |
or |
布尔“或” |
and |
布尔“与” |
not x |
布尔“非” |
in,not in |
成员测试 |
is,is not |
同一性测试 |
<,<=,>,>=,!=,== |
比较 |
| |
按位或 |
^ |
按位异或 |
& |
按位与 |
<<,>> |
移位 |
+,- |
加法与减法 |
*,/,% |
乘法、除法与取余 |
+x,-x |
正负号 |
~x |
按位翻转 |
** |
指数 |
x.attribute |
属性参考 |
x[index] |
下标 |
x[index:index] |
寻址段 |
f(arguments...) |
函数调用 |
(experession,...) |
绑定或元组显示 |
[expression,...] |
列表显示 |
{key:datum,...} |
字典显示 |
'expression,...' |
字符串转换 |
上两表源自: http://tool.oschina.net/commons?type=6#php_
选择 PHP Debugger 调试器
选择哪个 PHP 调试器?
[转载请注明出处:http://bohu.net/blog/?p=8854]
PHP 并没有内部调试器。但是可以使用外部调试器。» Zend IDE 就是其中之一,它包含一个调试器。
也有一些免费的调试器,比如在 » http://www.php-debugger.com/dbg/ 上的 DBG,» Advanced PHP Debugger(APD,注:似乎已经停止更新)或者 » Xdebug。
Zend Studio
优点:支持全php版本,集成度高,兼容性好。
缺点:程序庞大,需付费的软件。
使用Zend Technologies开发的 Zend Studio ,因为它是专业开发人员PHP整个开发周期中唯一的集成开发环境 (Integrated Development Environment,IDE),它包括了PHP所有必须的开发部件。通过一整套编辑、调试、分析、优化和数据库工具,Zend Studio 加速开发周期,并简化复杂的应用方案。
它支持PHP语法加亮显示,支持语法自动填充功能,支持书签功能,支持语法自动缩排和代码复制功能,内置一个强大的PHP代码调试工具,支持本地和远程两种调试模式,支持多种高级调试功能。也支持HTML和js标签,但只对PHP语言提供调试支持。
因为是同一个公司的产品,所以它对的Zend Framework方面的支持比其他软件好。
Zend Studio5.5系列后,官方推出利用了Eclipse平台,基于PDT的Zend Studio for Eclipse 6.0,之后的版本也都构建于Eclipse。
Xdebug
优点:支持php4.3 – 5.5版本,支持zend引擎,免费。
缺点:Xdebug 不能和 Zend Optimizer或任何其他处理 PHP 的内组件 (DBG、 APD、 ioncube 等) 的扩展。这是因为这些模块有兼容性问题。
推荐安装扩展插件 XDEBUG EXTENSION FOR PHP – 文档:http://xdebug.org/docs/all
Windows下安装预编译的 模块,有几个预编译的模块,用于 Windows,他们是所有的非调试版本的 PHP。你可以得到那些在下载页。按照这些说明来安装 Xdebug。
安装可以在其网站使用web向导模式,帮助你安装: http://xdebug.org/wizard.php。
一下是按照方法:
1. 在cmd下,“php -i >> c:\\phpinfo.txt
“
信息保存在 ,然后拷贝phpinfo.txt中内容至http://xdebug.org/wizard.php的文本框内,
然后点击 ‘Analyse my phpinfo() output’ 按钮,将会分析你的phpinfo,然后显示出分析的php配置,以及你要在php.ini中添加的内容:
你对应下载所提示的dll文件,放在第2步所对应的你的php安装目录中,第3步在php.in中添加一行:zend_extension = "C:\Program Files\iis express\PHP\v5.3\ext\php_xdebug-2.2.3-5.3-vc9-nts.dll"
然后查看phpinfo() 或者cmd php -i
检查是否已经加载了xdebug
phpdbg
优点:PHP官方推介的。从 PHP5.6 phpdbg 将以SAPI 模块包含在 PHP内,实现交互式调试器。
缺点:必须版本 > PHP 5.4.0 以及最新版本。易用性暂不明确。
PHP官方网站里显示:
PHP 5.6.0 alpha 最后终版附带了一个交互式调试器名为phpdbg。phpdbg 项目页面: http://phpdbg.com/
Phpdbg 以 SAPI 模块实现的而不会影响代码的性能或功能可以 excert 完全控制环境。
phpdbg 的目标是一个轻量、 功能强大、 易于使用的调试平台,自 PHP5.4 +
功能
- Stepthrough 调试
- 类方法、 函数、 File:Line、 地址操作码) 的灵活断点
- 方便地访问到 PHP 的内置 eval()
- 方便地访问到当前正在执行的代码
- 用户态的 API
- SAPI 不可知论-轻松地集成
- PHP 配置文件支持
- JIT 超级全局变量-设置您自己!!
- 可选 readline 支持-终端操作舒适
- 远程调试支持-捆绑 Java GUI
- 容易操作-请参阅帮助:)
详细文档查看: http://phpdbg.com/docs
Phpdbg 还有一个远程调试时所使用的Java GUI客户端程序:
希望PHP 5.6发布后看看Phpdbg的功效如何!