Array operator (+), string operator (.), logical operator (&& AND || OR XOR), friends in need can refer to it.
php array operator
$a + $b union The union of $a and $b.
$a == $b equal TRUE if $a and $b have the same key/value pair.
$a === $b Congruent TRUE if $a and $b have the same key/value pairs and are of the same order and type.
$a != $b does not equal TRUE if $a does not equal $b.
$a <> $b does not equal TRUE if $a does not equal $b.
$a !== $b is not equal TRUE if $a is not equal to $b.
The only array operator in PHP is the + operator. It appends the right array to the left array, but duplicate key values are not overwritten.
The code is as follows |
Copy code |
代码如下 |
复制代码 |
$a = array("a" => "apple", "b" => "banana");
$b = array("a" =>"pear", "b" => "strawberry", "c" => "cherry");
$c = $a + $b;
var_dump($c);
|
$a = array("a" => "apple", "b" => "banana");
$b = array("a" =>"pear", "b" => "strawberry", "c" => "cherry");
代码如下 |
复制代码 |
array(3) {
["a"]=>
string(5) "apple"
["b"]=>
string(6) "banana"
["c"]=>
string(6) "cherry"
}
|
$c = $a + $b;
var_dump($c);
|
After execution, this script will display:
The code is as follows |
Copy code |
代码如下 |
复制代码 |
$a = array("apple", "banana");
$b = array(1 => "banana", "0" => "apple");
var_dump($a == $b); // bool(true)
var_dump($a === $b); // bool(false)
?>
|
array(3) {
["a"]=>
string(5) "apple"
["b"]=>
string(6) "banana"
代码如下 |
复制代码 |
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
?>
|
["c"]=>
string(6) "cherry"
}
|
Units in the array are equal when compared if they have the same key name and value.
Example #1 Comparing arrays
The code is as follows |
Copy code |
$a = array("apple", "banana");<🎜>
$b = array(1 => "banana", "0" => "apple");
var_dump($a == $b); // bool(true)
var_dump($a === $b); // bool(false)
?>
|
String operators
There are two string operators. The first is the concatenation operator ("."), which returns the concatenated string of its left and right arguments. The second one is the concatenation assignment operator (".="), which appends the right argument to the left argument
The code is as follows |
Copy code |
<🎜>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<🎜>
<🎜>?>
|
Example
The code is as follows
代码如下 |
复制代码 |
$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
?>
|
|
Copy code
|
$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 = $_GET['var']) || ($a = 'a default');
?>
|
代码如下 |
复制代码 |
// 下面的 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);
?>
|
Logical operator
Examples of logical operators in the table below
$a and $b And (logical AND) TRUE if both $a and $b are TRUE.
$a or $b Or (logical OR) TRUE if either $a or $b is TRUE .
$a xor $b Xor (logical exclusive OR) TRUE if either $a or $b is TRUE , but not both. |
! $a Not TRUE if $a is not TRUE.
$a && $b And (logical AND) TRUE if both $a and $b are TRUE.
$a || $b Or (logical OR) TRUE if either $a or $b is TRUE .
The reason why "AND" and "OR" have two different forms of operators is that the priorities of their operations are different.
Example
The code is as follows
|
Copy code
($a = $_GET['var']) || ($a = 'a default');
?>
Example
|
|