ホームページ > バックエンド開発 > PHPチュートリアル > PHP 論理演算子の & と && の類似点と相違点

PHP 論理演算子の & と && の類似点と相違点

WBOY
リリース: 2016-06-13 12:54:58
オリジナル
992 人が閲覧しました

PHP 論理演算子における & と && の類似点と相違点


php には 5 つの算術演算子 (+ - * / %)、6 つの代入演算子 (+= -= *= /= %= .=)、および 8 つの比較演算子 (=== < > ; <= >) があります。 ;= != <> !==)、6 つの論理演算子 (&&、||、&、|、! など)。論理 AND & は and として記述でき、論理 or | は or として記述できます。 )、およびその他の演算子 (エラー制御演算子 @、実行演算子バックティック "-- は一重引用符ではありません、文字列演算子 . および .=、インクリメント/デクリメント演算子 ++/--、三項演算子 ?:)。

オペレーターの優先順位については、関連ドキュメントを参照してください。


php の & と && の類似点と相違点

<?php
$a=10;
if($a>4 && (++$a>10))
{
}
//输出结果为11.
echo $a;
?>

<?php
$a=10;
if($a>4 and (++$a>10))
{
}
//输出结果为11.
echo $a;
?>

**************************************************************

<?php
$a=10;
if($a>4 && (++$a<10))
{
}
//输出结果为11.
echo $a;
?>

<?php
$a=10;
if($a>4 & (++$a<10))
{
}
//输出结果为11.
echo $a;
?>

*********************************************************

<?php
$a=10;
if($a<4 && (++$a>10))
{
}
//输出结果为10.
echo $a;
?>

<?php
$a=10;
if($a<4 & (++$a>10))
{
}
//输出结果为11.
echo $a;
?>

*******************************************************************

<?php
$a=10;
if($a<4 && (++$a<10))
{
}
//输出结果为10.
echo $a;
?>

<?php
$a=10;
if($a<4 & (++$a<10))
{
}
//输出结果为11.
echo $a;
?>

*******************************************************************

<?php
// 下面的 sktest() 不被调用,原因是它们被运算符“短路”。
$a = (false && sktest());
$b = (true  || sktest());
$c = (false and sktest());
$d = (true  or  sktest());

// "||" 的优先级比 "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);

?>
ログイン後にコピー


式 1 $a && $b、式 2 $a & $b

1. 類似性: $a と $b が両方とも true の場合、両方の式が true になります。どちらの演算子も、この式の結果には影響しません。

2. 相違点: $a && $b の式の && の前の $a が false の場合、その式は false であると判断されます。このとき、論理演算子 && の後の $b は計算されなくなります。いわゆる「オペレーター」。式 $a & $b の場合、& の前の $a が true か false かに関係なく、式の後の $b を計算する必要があります。論理演算子の実行後に $b を実行するかどうかは、後続のデータとプログラムの結果に影響を与える可能性があります。

論理演算子 || の類似点と相違点は上記と同じです。



関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート