三項演算子

広告

三項演算子は演算子のひとつで3つの項目を使用する唯一の演算子です。書式は次の通りです。

条件式 ? 式1 : 式2

条件式を評価し、TRUEであれば式1、FALSEであれば式2を返します。

if..elseの構文ににていますが、if文とは異なり三項演算子は演算子の1つですので結果として式を返します。if文のように条件に応じた処理を記述するのではない点に注意して下さい。

実際には次のように記述します。

$lang = 'En';

$msg = $lang == 'Jp'  ? 'こんにちは' : 'Hello';
print $msg;

今回の場合は変数「lang」の値が「Jp」と等しいかどうかを評価し、TRUEであれば「こんにちは」を、FALSEであれば「Hello」を変数「msg」に格納しています。

サンプルプログラム

では簡単なプログラムで試して見ます。

sample8-1.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<title>PHPテスト</title>
</head>
<body>

<p>PHPのテストです。</p>

<p>
<?php
$lang = 'En';

$msg = $lang == 'Jp'  ? 'こんにちは' : 'Hello';
print $msg.'<br />';

$lang = 'Jp';

print $lang == 'Jp'  ? 'こんにちは' : 'Hello';
?>
</p>

</body>
</html>

上記のファイルをWWWサーバのドキュメントルート以下に設置しブラウザからアクセスすると次のように表示されます。

switch文

( Written by Tatsuo Ikura )