PHP: 制御構造 - Manual
PHP  
downloads | documentation | faq | getting help | mailing lists | | php.net sites | links | my php.net 
search for in the  
<配列演算子else>
view the version of this page
Last updated: Tue, 21 Dec 2004

第 16章制御構造

全てのPHPスクリプトは、一連の文からなります。 文としては、代入、関数コール、ループ、条件文、そして、何もしない文(空の文) さえ使用することができます。 文は、通常セミコロンで終了します。加えて、文は、中括弧によるグループ文で カプセル化することによりグループ化することが可能です。 グループ文は、同時に文にもなります。 本章では、様々な文の型が記述されています。

if

if 構文は、PHP を含む全ての言語において最も重要な 機能の一つです。 この構文は、命令の条件実行を可能にします。 PHPでは、次のようなC言語に似たif構文が使用されます。

<?php
if (式)
    文
?>

式のセクションで 記述したようには論理値で評価されます。 TRUEと評価された場合、 PHPはを実行します。FALSE と評価された場合は、これを無視します。どのような値が FALSEと評価されるについては論理値への変換 を参照してください。

以下の例は、$a$b より大きい場合、aはbより大きい を表示します。

if ($a > $b)
   echo "aはbより大きい";

条件分岐させたい文が一つ以上ある場合もしばしばあります。 もちろん、各々の文をif 文で括る必要はありません。 代わりに、複数の文をグループ化することができます。 例えば、このコードは、$a$bよりも大きい場合に aはbよりも大きいを表示し、 $aの値を$bに 代入します。

if ($a > $b) {
   echo "aはbより大きい";
   $b = $a;
}

if文は、他のif文の中で無限に入れ子にできます。 これは、プログラムの様々な部分の条件付実行について 完全な柔軟性を提供します。



add a note add a note User Contributed Notes
制御構造
dotwho at nospam dot mac dot com
18-Feb-2005 01:12
As of php 5.01:

if using the short cut if - else syntax:

condition ? true : false;

be careful. inside of condition the and / or operators do not work as expected. use instead && / ||.

Example:
<?php
$sText
= (!isset($searchText) or $sText === "" "NULL" : $sText);
?>
Always sets $sText to "1".

<?php
$sText
= (!isset($searchText) || $sText === "" "NULL" : $sText);
?>
Sets $sText appropriately.
niels dot laukens at tijd dot com
26-Dec-2004 03:49
For the people that know C: php is lazy when evaluating expressions. That is, as soon as it knows the outcome, it'll stop processing.

<?php
if ( FALSE && some_function() )
   echo
"something";
// some_function() will not be called, since php knows that it will never have to execute the if-block
?>

This comes in nice in situations like this:
<?php
if ( file_exists($filename) && filemtime($filename) > time() )
  
do_something();
// filemtime will never give an file-not-found-error, since php will stop parsing as soon as file_exists returns FALSE
?>
Job Oberio
21-Oct-2004 08:19
if you want to have two expressions you can
use any logical operators  'and', 'or'

<?php
if ($num > 10 and $num < 15)
       {
           echo
"number is greater than 10 but less than 15";       
       }
?>

another way, you can enclose each expression into
open/close parentheses - ( expression1 ) and (expression2)
so that its easy to analyze your expressions

<?php
if ( ($num > 10) and ($num < 15) )
       {
           echo
"number is greater than 10 but less than 15";       
       }
?>

i prefer using the wordings 'and' instead of '&&' operator
because wordings operators are easy to analyze and easy
to your eye to read especially for long expressions.
the '&&' tends to be confused to $ sign

<配列演算子else>
 Last updated: Tue, 21 Dec 2004
show source | credits | sitemap | contact | advertising | mirror sites 
Copyright © 2001-2005 The PHP Group
All rights reserved.
This unofficial mirror is operated at: /
Last updated: Mon Mar 14 08:13:06 2005 Local time zone must be set--see zic manual page