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" }
陣列中的單元如果具有相同的鍵名和值則比較時相等。
<?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 = '12345'; // This works: echo "qwe{$a}rty"; // qwe12345rty, using braces echo "qwe" . $a . "rty"; // qwe12345rty, concatenation used // Does not work: echo 'qwe{$a}rty'; // qwe{$a}rty, single quotes are not parsed echo "qwe$arty"; // qwe, because $a became $arty, which is undefined ?>
#$a 與 $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['var']) || ($a = 'a default'); ?>
<?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)
以上是php數組運算子,字串運算子和邏輯運算子實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!