Home >Backend Development >PHP Tutorial >Detailed explanation of PHP array operators, string operators and logical operator examples

Detailed explanation of PHP array operators, string operators and logical operator examples

伊谢尔伦
伊谢尔伦Original
2017-06-21 15:51:441790browse

phpArray operators

$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 is not equal TRUE if $a is not equal to $b.
$a a8093152e673feb7aba1828c43532094 $b is not equal TRUE if $a is not equal to $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.

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

After execution, this script will display:

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

Units in the array will be equal when compared if they have the same key name and value.

<?php
$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 is the concatenation Assignment operator (".="), which appends the right argument to the left argument

<?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
?>

Logical operator

$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 at the same time.
! $a Not (logical 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.

<?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);
?>

The output of the above routine is similar to:

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

The above is the detailed content of Detailed explanation of PHP array operators, string operators and logical operator examples. For more information, please follow other related articles on the PHP Chinese website!

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