国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > php开源 > php教程 > php 数组运算符(+)、字符串运算符(.)、逻辑运算符(&& AND || OR XO

php 数组运算符(+)、字符串运算符(.)、逻辑运算符(&& AND || OR XO

来源:程序员人生   发布时间:2014-04-14 01:55:20 阅读次数:2348次

数组运算符(+)、字符串运算符(.)、逻辑运算符(&& AND || OR XOR)有需要的朋友可参考参考.

php数组运算符

$a + $b 联合 $a 和 $b 的联合. 

$a == $b 相等 如果 $a 和 $b 具有相同的键/值对则为 TRUE. 

$a === $b 全等 如果 $a 和 $b 具有相同的键/值对并且顺序和类型都相同则为 TRUE. 

$a != $b 不等 如果 $a 不等于 $b 则为 TRUE. 

$a <> $b 不等 如果 $a 不等于 $b 则为 TRUE. 

$a !== $b 不全等 如果 $a 不全等于 $b 则为 TRUE.

PHP 仅有的一个数组运算符是 + 运算符.它把右边的数组附加到左边的数组后,但是重复的键值不会被覆盖.

实例代码如下:

  1. $a = array("a" => "apple""b" => "banana"); 
  2. $b = array("a" =>"pear""b" => "strawberry""c" => "cherry"); 
  3. $c = $a + $b
  4. var_dump($c); 

执行后,此脚本会显示:

实例代码如下:

  1. array(3) { 
  2.   ["a"]=> 
  3.   string(5) "apple" 
  4.   ["b"]=> 
  5.   string(6) "banana" 
  6.   ["c"]=> 
  7.   string(6) "cherry" 

数组中的单元如果具有相同的键名和值则比较时相等.

Example #1 比较数组

实例代码如下:

  1. <?php 
  2. $a = array("apple""banana"); 
  3. $b = array(1 => "banana""0" => "apple"); 
  4. var_dump($a == $b); // bool(true) 
  5. var_dump($a === $b); // bool(false) 
  6. ?> 

字符串运算符

有两个字符串运算符.第一个是连接运算符(“.”),它返回其左右参数连接后的字符串.第二个是连接赋值运算符(“.=”),它将右边参数附加到左边的参数后

实例代码如下:

  1. <?php 
  2. echo "thr"."ee";           //prints the string "three" 
  3. echo "twe" . "lve";        //prints the string "twelve" 
  4. echo 1 . 2;                //prints the string "12" 
  5. echo 1.2;                  //prints the number 1.2 
  6. echo 1+2;                  //prints the number 3 
  7. ?> 

实例代码如下:

  1. <?php 
  2.  $a = '12345'
  3. // This works: 
  4.  echo "qwe{$a}rty"// qwe12345rty, using braces 
  5.  echo "qwe" . $a . "rty"// qwe12345rty, concatenation used 
  6. // Does not work: 
  7.  echo 'qwe{$a}rty'// qwe{$a}rty, single quotes are not parsed 
  8.  echo "qwe$arty"// qwe, because $a became $arty, which is undefined 
  9. ?> 

逻辑运算符

下表逻辑运算符举例

$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 .

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

实例代码如下:

  1. <?php 
  2. ($a = $_GET['var']) || ($a = 'a default'); 
  3. ?> 

实例代码如下:

  1. <?php 
  2. // 下面的 foo() 不会被调用,因为它们被运算符“短路”了. 
  3. $a = (false && foo()); 
  4. $b = (true  || foo()); 
  5. $c = (false and foo()); 
  6. $d = (true  or  foo()); 
  7. // "||" 的优先级比 "or" 高 
  8. $e = false || true; // $e 被赋值为 (false || true),结果为 true 
  9. $f = false or true; // $f 被赋值为 false [Altair注:"=" 的优先级比 "or" 高] 
  10. var_dump($e$f); 
  11. // "&&" 的优先级比 "and" 高 
  12. $g = true && false; // $g 被赋值为 (true && false),结果为 false 
  13. $h = true and false; // $h 被赋值为 true [Altair注:"=" 的优先级比 "and" 高] 
  14. var_dump($g$h); 
  15. ?> 

以上例程的输出类似于:

bool(true)

bool(false)

bool(false)

bool(true)

生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生