您的位置: 飞扬精品软件园 >> 文章中心 >> 软件使用 >> 程序开发 >> PHP中的运算符(1)

相关文章链接

本类文章排行

最新新闻资讯

    PHP中的运算符(1)

    PHP中的运算符(1)


    • 阅览次数: 文章来源: 原文作者: 整理日期: 2010-07-23

    运算符优先级

    运算符优先级指定了两个表达式绑定得有多“紧密”。例如,表达式 1 + 5 * 3 的结果是 16 而不是 18 是因为乘号(“*”)的优先级比加号(“+”)高。必要时可以用括号来强制改变优先级。例如:(1 + 5) * 3 的值为 18。

    下表从低到高列出了运算符的优先级。

    运算符优先级

    结合方向 运算符
    ,
    or
    xor
    and
    print
    = += -= *= /= .= %= &= |= ^= ~= <<= >>=
    ? :
    ||
    &&
    |
    ^
    &
    == != === !==
    < <= > >=
    << >>
    + - .
    * / %
    ! ~ ++ -- (int) (float) (string) (array) (object) @
    [
    new

    注: 尽管 ! 比 = 的优先级高,PHP 仍旧允许类似如下的表达式:if (!$a = foo()),在此例中 foo() 的输出被赋给了 $a。

    算术运算符

    还记得学校里学到的基本数学知识吗?就和它们一样。

    算术运算符

    例子 名称 结果
    $a + $b 加法 $a 和 $b 的和。
    $a - $b 减法 $a 和 $b 的差。
    $a * $b 乘法 $a 和 $b 的积。
    $a / $b 除法 $a 除以 $b 的商。
    $a % $b 取模 $a 除以 $b 的余数。

    除号(“/”)总是返回浮点数,即使两个运算数是整数(或由字符串转换成的整数)也是这样。

    赋值运算符

    基本的赋值运算符是“=”。你一开始可能会以为它是“等于”,其实不是的。它实际上意味着把右边表达式的值赋给左运算数。

    赋值运算表达式的值也就是所赋的值。也就是说,“$a = 3”的值是 3。这样就可以使你做一些小技巧:

    $a = ($b = 4) + 5; // $a is equal to 9 now, and $b has been set to 4. 
    

    在基本赋值运算符之外,还有适合于所有二元算术和字符串运算符的“组和运算符”,这可以让你在一个表达式中使用它的值并把表达式的结果赋给它,例如:

    $a = 3;
    $a += 5; // sets $a to 8, as if we had said: $a = $a + 5;
    $b = "Hello ";
    $b .= "There!"; // sets $b to "Hello There!", just like $b = $b . "There!";
    

    注意赋值运算将原变量的值拷贝到新变量中(传值赋值),所以改变其中一个并不影响另一个。这也适合于你在在紧密循环中拷贝一些值例如大数值。PHP 4 支持引用赋值,用 $var = &$othervar; 语法,但在 PHP 3 中不可能这样做。“引用赋值”意味着两个变量都指向同一个数据,没有任何数据的拷贝。

    [1] [2] [3] [4]


查看所有评论

网友对PHP中的运算符(1)的评论

网名:
主题:
内容:
验证码: