ホームページ  >  記事  >  バックエンド開発  >  PHP の配列演算子、文字列演算子、論理演算子の例の詳細な説明

PHP の配列演算子、文字列演算子、論理演算子の例の詳細な説明

伊谢尔伦
伊谢尔伦オリジナル
2017-06-21 15:51:441779ブラウズ

php配列演算子

$a + $b Union $a と $b の和集合。
$a == $b $a と $b が同じキーと値のペアを持つ場合、TRUE に等しくなります。
$a === $b congruent $a と $b が同じキー/値ペアを持ち、同じ順序と型である場合に TRUE。
$a != $b は、$a が $b と等しくない場合、TRUE となります。
$a a8093152e673feb7aba1828c43532094 $a が $b と等しくない場合、$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)
?>

文字列演算子

文字列演算子は 2 つあります。 1 つ目は連結演算子 (「.」) で、左引数と右引数を連結した文字列を返します。 2 番目の演算子は連結代入演算子(".=") で、右の引数を左の引数に追加します

<?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 と $b And (論理 AND) TRUE if Both $aおよび $b は TRUE です。
$a または $b $a または $b のいずれかが TRUE の場合、OR (論理和) TRUE。
$a xor $b Xor (論理排他的論理和) $a または $b のいずれかが TRUE の場合に TRUE (ただし両方が同時にではない場合)。
! $a が TRUE でない場合、 $a Not (論理的ではありません)。
$a && $b $a と $b の両方が TRUE の場合、And (論理積) TRUE。
$a || $b $a または $b のいずれかが TRUE の場合、OR (論理和)。

「AND」と「OR」に 2 つの異なる形式の演算子がある理由は、それらの演算の 優先順位 が異なるためです。

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

以上がPHP の配列演算子、文字列演算子、論理演算子の例の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。