2008年07月27日

論理演算子の基礎2

<?php
$a = "sun"; $b = ""; if( ($a == "sun") and ($b = "mon") ) { } echo '$a : '.$a."<br />"; echo '$b : '.$b."<br />"; ?>
実行結果
$a : sun $b : mon

(($a == "sun") and ($b = "mon")」では、まず「$a == "sun"」の真偽が「真」と評価され、次に「$b = "mon"」が評価される。ここでは「変数$b」に「"mon"」が代入されたうえで、$bが評価される。空文字列ではないので$bは「真」と評価される。



<?php

$a = "sun";
$b = "";
	if( ($a == "sun") or ($b = "mon") )
	{
	
	}
 echo '$a : '.$a."<br />";
 echo '$b : '.$b."<br />";
?>
実行結果
$a : sun $b :

(条件式「($a == "sun") or ($b = "mon")」では、まず「$a == "sun"」の真偽が「真」と評価されます。この時点で「真」が確定され、次の真偽判定の必要はなくなります。よって「$b = "mon"」は評価されません。)


<?php
$a = "sun";
$b = "";
if( !$b )
{
	$b = "mon";
}
echo '$a : '.$a."<br />";
echo '$b : '.$b."<br />";  
?>
実行結果
$a : sun $b : mon

(条件式「!$b」では、まず「$b」の真偽について評価します。空文字列なので「偽」と評価され、その「否定」の「真」と判定されます。よって、「$b = "mon"」は評価されます。)

$a = "sun";
$b = "";
if( ($a == "sun") xor ($b == "") )
{
	$b = "mon";
}
echo '$a : '.$a."<br />";
echo '$b : '.$b;
実行結果
$a : sun $b :

(条件式「($a == "sun") xor ($b == "")」では、「$a == "sun"」と「$b == ""」が両方とも「真」であるため、「偽」と判定されます。よって、「$b = "mon"」は評価されません。)

ブログランキングに参加中! 「なるほど」と思ったらクリックで応援してくださいね。
クリックするとブログランキングのページへ飛びます。そうすると
わたしのブログにポイントが加算されます。皆さまの1票が
「応援してくれてる人のために頑張ろう!」という気持ちにさせてくれます。
人気ブログランキング 人気ブログランキング【ブログの殿堂】 ブログランキング・にほんブログ村へ

Google
posted by はっくん at 15:35 | 山口 ☀ | Comment(0) | TrackBack(0) | php
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。