Home >php教程 >php手册 >php 数组运算符(+)、字符串运算符(.)、逻辑运算符(&& AND || OR XO

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

WBOY
WBOYOriginal
2016-05-25 16:47:411426browse

数组运算符(+)、字符串运算符(.)、逻辑运算符(&& 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 仅有的一个数组运算符是 + 运算符.它把右边的数组附加到左边的数组后,但是重复的键值不会被覆盖.

实例代码如下:

$a = array("a" => "apple", "b" => "banana"); 
$b = array("a" =>"pear", "b" => "strawberry", "c" => "cherry"); 
$c = $a + $b; 
var_dump($c);

执行后,此脚本会显示:

实例代码如下:

array(3) { 
  ["a"]=> 
  string(5) "apple" 
  ["b"]=> 
  string(6) "banana" 
  ["c"]=> 
  string(6) "cherry" 
}

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

Example #1 比较数组

实例代码如下:

<?php 
    $a = array("apple", "banana"); 
    $b = array(1 => "banana", "0" => "apple"); 
    var_dump($a == $b); // bool(true) 
    var_dump($a === $b); // bool(false) 
?>

字符串运算符

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

实例代码如下:

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

实例代码如下:

<?php 
     $a = &#39;12345&#39;; 
    // This works: 
     echo "qwe{$a}rty"; // qwe12345rty, using braces 
     echo "qwe" . $a . "rty"; // qwe12345rty, concatenation used 
    // Does not work: 
    echo &#39;qwe{$a}rty&#39;; // qwe{$a}rty, single quotes are not parsed 
    echo "qwe$arty"; // qwe, because $a became $arty, which is undefined 
?>

逻辑运算符

下表逻辑运算符举例

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

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

实例代码如下:

<?php 
    ($a = $_GET[&#39;var&#39;]) || ($a = &#39;a default&#39;); 
?>

实例代码如下:

<?php 
    // 下面的 foo() 不会被调用,因为它们被运算符"短路"了. 
    $a = (false && foo()); 
    $b = (true  || foo()); 
    $c = (false and foo()); 
    $d = (true  or  foo()); 
    // "||" 的优先级比 "or" 高 
    $e = false || true; // $e 被赋值为 (false || true),结果为 true 
    $f = false or true; // $f 被赋值为 false [Altair注:"=" 的优先级比 "or" 高] 
    var_dump($e, $f); 
    // "&&" 的优先级比 "and" 高 
    $g = true && false; // $g 被赋值为 (true && false),结果为 false 
    $h = true and false; // $h 被赋值为 true [Altair注:"=" 的优先级比 "and" 高] 
    var_dump($g, $h); 
?>

以上例程的输出类似于:

bool(true)
bool(false)
bool(false)
bool(true)


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn