戻る

if文の使い方

JavaScript

記述方法1

一般的な記述方法です。

<!DOCTYPE HTML>
<html lang="ja-JP">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body></body>
<script type="text/javascript">
var tokuten = 80;

if(tokuten >= 80){
	document.getElementsByTagName("body")[0].innerHTML = "あなたの点は" + tokuten + "点で合格です";
}
</script>
</html>

if文の中で、変数宣言したものを、if文の外で使う場合は、if文を通らない場合は、宣言したことにはならないので注意しましょう。以下の例で、JavaScriptでは「undefined」と出力されます。

if(false){
	var a = "ほげ";
}

console.log(a);

記述方法2

if文の内容が1行ですむ場合は「{}」を省略できます。

条件式がシンプルで、内容もシンプルであれば、短く記述できますが、思わぬバグになる可能性もあるのでおすすめできません。

<!DOCTYPE HTML>
<html lang="ja-JP">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body></body>
<script type="text/javascript">
var tokuten = 80;

if(tokuten >= 80)
	document.getElementsByTagName("body")[0].innerHTML = "あなたの点は" + tokuten + "点で合格です";
</script>
</html>

PHP

記述方法1

一般的な記述方法です。

<?php
header("Content-type: text/html; charset=utf-8");

$tokuten = 80;

if($tokuten >= 80){
	echo "あなたの点は{$tokuten}点で合格です";
}
?>

if文の中で、変数宣言したものを、if文の外で使う場合は、if文を通らない場合は、宣言したことにはならないので注意しましょう。以下の例で、PHPではエラーになります。

<?php
header("Content-type: text/html; charset=utf-8");

if(FALSE){
	$a = "ほげ";
}

echo $a;
?>

記述方法2

if文の内容が1行ですむ場合は「{}」を省略できます。

条件式がシンプルで、内容もシンプルであれば、短く記述できますが、思わぬバグになる可能性もあるのでおすすめできません。

<?php
header("Content-type: text/html; charset=utf-8");

$tokuten = 80;

if($tokuten >= 80) echo "あなたの点は{$tokuten}点で合格です";
?>

記述方法3

HTML内に記述する場合に便利です。デザインとロジックを分離するのに便利です。

<?php
header("Content-type: text/html; charset=utf-8");

$tokuten = 80;

if($tokuten >= 80):
	echo "あなたの点は{$tokuten}点で合格です";
endif;
?>

例:

<?php
header("Content-type: text/html; charset=utf-8");

//メンテナンスのお知らせ
define("MAINTAINANCE", TRUE);
?>
<!DOCTYPE HTML>
<html lang="ja-JP">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
	<header>
		サイト名
	</header>
	<?if(MAINTAINANCE == TRUE):?>
	<div>
		<p>
			ただいまサイトのメンテナンス中です。
		</p>
	</div>
	<?endif;?>
	<article>
		<section>
			…略…
		</section>
		<section>
			…略…
		</section>
		<section>
			…略…
		</section>
	</article>
	<header>
		著作権
	</header>
</body>
</html>

ネスト

if文は入れ子構造(ネスト)にすることができ、下記2つの動きは同じになります。条件式が短い場合は上の例にして、条件式が長くなる場合は下の記述にした方がよい場合もあります。

if(条件式A && 条件式B){
	処理
}

if(条件式A){
	if(条件式B){
		処理
	}
}

ただし、下記の記述は別の動きになりますので、注意しましょう。

if(条件式A){
	処理
	if(条件式B){
		処理
	}
}

inserted by FC2 system