PHP レッスン — レッスン 8 — if 演算子
状況に応じてさまざまな判断を下さなければならないことがよくあります。プログラミングでも人生と同じく、条件によって何をするかを選ばなければなりません。人生では頭で考えて判断を下しますが、PHP では IF(もし)演算子を使います。もし雨が降れば傘を持っていく、もし暖かければビーチに行く。同じように PHP では、式が真かどうかを確認し、対応する動作を実行します:
<?php
if(条件){
動作
}
?>
また、アルゴリズムの動作を示すために、フローチャートを描くのが普通です:

例で if の構文を見てみましょう:
<?php
if(5>3){
print '5 は 3 より大きい';
}
?>
かなり簡単、いや当たり前とも言える例ですが、if の使い方をつかむにはこれで十分だと思います。
以下は比較演算子の使用例です:
等号演算子:
<?php
$x = 5;
if($x == 5){
print 'x は 5 に等しい';
}
?>
不等号演算子:
<?php
$x = 5;
if($x != 4){
print 'x は 4 に等しくない';
}
?>
より大きい演算子:
<?php
$x = 6;
if($x > 4){
print 'x は 4 より大きい';
}
?>
より小さい演算子:
<?php
$x = 1;
if($x < 3){
print 'x は 3 より小さい';
}
以上演算子:
<?php
$x = 5;
if($x >= 5){
print 'x は 5 以上';
}
if($x > 5){
print 'x は 5 より大きい'; // 出力されない
}
?>
以下演算子:
<?php
$x = 5;
if($x <= 5){
print 'x は 5 以下';
}
if($x < 5){
print 'x は 5 より小さい'; // 出力されない
}
?>
if には複数の条件を一度に使うこともできます。そのために、論理の OR、AND を使います。PHP では OR 演算子は 2 本の縦線 || で、AND 演算子は 2 つのアンパサンド && で表します。
AND で条件を指定した場合、両方の条件が真のときに動作が実行されます。OR で条件を指定した場合、条件の少なくとも 1 つが真のときに動作が実行されます。
&&(AND)を使った PHP の if:
<?php
$x = 4;
$y = 5;
if($x==4 && $y==5){
print 'x は 4、y は 5';
}
if($x==3 && $y==5){
print 'x は 3、y は 5'; // x が 3 でないので出力されない
}
?>
||(OR)を使った PHP の if:
<?php
$x = 4;
$y = 5;
if($x == 4 || $y == 5){
print 'x は 4 または y は 5<br />';
}
if($x == 3 || $y == 5){
print 'x は 3 または y は 5<br />';
}
if($x == 4 || $y == 6){
print 'x は 4 または y は 6<br />';
}
3 つのケースすべてで少なくとも 1 つの条件が満たされるので、3 行すべてが出力されます。
boolean 型、すなわち論理型のデータについて話したのを覚えていますか。まさに if の条件でこの型のデータを使えます。if は条件が true か false かを確認します。
この例を見てください:
<?php $condition = true; if($condition){ print 'Hello, World!'; } ?>
しかし条件が常に真とは限りません。その場合、if の 2 つの使用パターンを設定するために else を追加します:
if(5>6){
print '5 は 6 より大きい';
}else{
print 'まさか、そんなの見たことないでしょう?';
}
これで理解できました。実務でよく出てくる例をもう 2 つ見てみましょう:
<?php
$x=10;
if(empty($x)){
print '変数は空です';
}else{
print '変数の値は ' . $x;
}
?>
empty() 関数は変数が空かどうかを確認します。変数が空でなければ関数は FALSE を返し、空なら TRUE を返します。否定演算子 !(感嘆符)も使えます:
<?php
$x=10;
if(!empty($x)){
print '変数の値は ' . $x;
}else{
print '変数は空です';
}
?>
その場合、真だったものが偽になり、偽だったものが真になります。そして、変数がそもそも存在するかを確認する、似た関数 isset() もあります:
<?php
$x = '';
if(empty($x)){
print '変数 x は空です<br />';
}
if(isset($x)){
print '変数 x は存在します';
}
?>
このレッスンには例が十分あり、if 演算子の使い方はもう身についたと思います。次に進みましょう。