[PHP中文社区教程] 第十三课:运算符

林继 PHP 技术 23,051 共写了2106个字 (2006-12-21 15:19:22) 没有评论 打印 扫描二维码 百度已收录

From:http://www.phpnet.cn/bbs/viewthread.php?tid=463&extra=page%3D2

  在第九课我们学过了 PHP中的运算,学习中碰到的问题大家讨论热烈,特别是rq2004提出的“echo “a”.$a+$b.”a”.($a+$b)+$a;”PHP会怎么计算的问题,以前学习PHP的人从来没有谁认真考虑过这样的事。虽然这样的运算在实际编程中不常用到,但是我们会员的这种学术精神可圈可点。随后的学习过程中大家要求掌握更多的相关知识,所以这一课我们更进一步探讨PHP中的运算符,让你掌握更多的运算知识。

  1. 赋值运算符

  基本的赋值运算符是“=”。如果你认为这是一个等号,那就错了。它实际的意思是左边的操作数得到右边表达式的值。例如你可以用下面的方式做一些复杂的事情。例如13-1:

  1. <?php 
  2. $a = 3; 
  3. $a +=5;  //把$a 设成8,也就是 $a=$a+5。 
  4.  
  5. $b = 'hi'; 
  6. $b .= '你好';  //把$b设成“hi你好”,也就是 $b=$b.'你好'。 
  7. ?>

使用自我复合运算时可以明显提高编译效率。

  2. 比较运算符

  比较运算符,如同它们名称所暗示的,允许对两个值进行比较。

表格: 比较运算符

$a == $b 等于 TRUE,如果 $a 等于 $b。
$a === $b 全等 TRUE,如果 $a 等于 $b,并且它们的类型也相同。(PHP 4 引进)
$a != $b 不等 TRUE,如果 $a 不等于 $b。
$a <> $b 不等 TRUE,如果 $a 不等于 $b。
$a !== $b 非全等 TRUE,如果 $a 不等于 $b,或者它们的类型不同。(PHP 4 引进)
$a < $b 小与 TRUE,如果 $a 严格小于 $b。
$a > $b 大于 TRUE,如果 $a 严格 $b。
$a <= $b 小于等于 TRUE,如果 $a 小于或者等于 $b。
$a >= $b 大于等于 TRUE,如果 $a 大于或者等于 $b。

  如果比较一个整数和字符串,则字符串会被转换为整数。如果比较两个数字字符串,则作为整数比较。

  例如13-3:

  1. <?php 
  2.  
  3. $userName = 'PHP中文论坛'; 
  4.  
  5. if( $userName == 'PHP中文社区') echo '欢迎你回来!'; 
  6. else echo '用户名错误。'; 
  7.  
  8. ?>

  3. 逻辑运算符

表格: 逻辑运算符

$a and $b And(逻辑与) TRUE,如果 $a 与 $b 都为 TRUE
$a or $b Or(逻辑或) TRUE,如果 $a 或 $b 任一为 TRUE
$a xor $b Xor(逻辑异或) TRUE,如果 $a 或 $b 任一为 TRUE,但不同时是。
! $a Not(逻辑非) TRUE,如果 $a 不为 TRUE
$a && $b And(逻辑与) TRUE,如果 $a 与 $b 都为 TRUE
$a || $b Or(逻辑或) TRUE,如果 $a 或 $b 任一为 TRUE

 “与”和“或”有两种不同形式运算符的原因是它们运算的优先级不同。

例子13-4:

  1. <?php 
  2.  
  3. $userName = 'PHP中文论坛'; 
  4. $passWord = 'aaa999'; 
  5.  
  6. if ( $userName == 'PHP中文社区'  && $passWord == 'aaa999' ) echo '欢迎你回来!'; 
  7. else echo '用户名或密码错误。'; 
  8.  
  9. ?>

例子13-5:

  1. <?php 
  2.  
  3. $userName = 'phpNet'; 
  4.  
  5. if ( $userName == 'PHP中文社区'  || $userName == 'phpNet'  || $userName == 'phpNetCn'  ) echo "欢迎社区成员{$userName}回来!"; 
  6. else echo '你不是本站会员,请注册后登录。'; 
  7.  
  8. ?>
分页阅读: 1 2 下一页

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

< >