downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

while> <elseif/else if
Last updated: Fri, 13 Nov 2009

view this page in

制御構造に関する別の構文

PHPは、いくつかの制御構造、つまり、ifwhileforforeachswitch に関する別の構文を提供します。 各構造において開き波括弧をコロン(:)、閉じ波括弧をそれぞれ endif;,endwhile;, endfor;,endforeach;, endswitch;に変更するのが 別の構文の基本的な形式となります。

<?php if ($a == 5): ?>
Aは5に等しい
<?php endif; ?>

上の例では、HTML ブロック "Aは5に等しい" はこの構文で 書かれた if 文の内部で入れ子になっています。 この HTML ブロックは、$a が 5 の場合にのみ表示されます。

この方法は、elseelseif にも同様に適用することができます。 次の例は、この形式で if 文を elseif および else とともに使用しています。

<?php
if ($a == 5):
    echo 
"aは5に等しい";
    echo 
"...";
elseif (
$a == 6):
    echo 
"aは6に等しい";
    echo 
"!!!";
else:
    echo 
"aは5でも6でもない";
endif;
?>

より多くの例を参照するには、 whilefor、および if を参照ください。



while> <elseif/else if
Last updated: Fri, 13 Nov 2009
 
add a note add a note User Contributed Notes
制御構造に関する別の構文
ej at iconcept dot fo
28-May-2009 12:30
if statement in 1 line
<?php
$hour
= 11;

print
$foo = ($hour < 12) ? "Good morning!" : "Good afternoon!";

?>
return Good morning!
flyingmana
26-Mar-2009 09:43
It seems to me, that many people think that

<?php if ($a == 5): ?>
A ist gleich 5
<?php endif; ?>

is only with alternate syntax possible, but

<?php if ($a == 5){ ?>
A ist gleich 5
<?php }; ?>

is also possible.

alternate syntax makes the code only clearer and easyer to read
SM
04-Feb-2009 01:12
The control structure should be like in BASIC languages:
<?php
if ($a == 12):
  echo
"a is 12\n";
end if;

while (
true):
  echo
"loop loop loop\n";
end while;
?>

or just use end operator like in Ruby
<?php
if ($a == 12):
  echo
"a is 12\n";
end;

while (
true):
  echo
"loop loop loop\n";
end;
?>
mido_alone2001 at yahoo dot com
07-Nov-2008 02:05
Hello , when you going to make a script , you must try easist way to do and fastest way to parse ..
using alternative-syntax is very useful to shorten your code
e.g :
If you want to do:

<?php
    $a
=1 ;
if (
$a==1) {
     echo
"<table border=1><tr><td>$a is equal to one    </td></tr></table> " ;
}
?>

You can do it using alternative-syntax as following :

<?php
    $a
=1 ;
if (
$a==1) :?>
<table border=1><tr><td><?echo $a ;?> &nbsp;is equal to one </td></tr></table>
<?php endif ; ?>

So the HTML code Won't excuted until the condition is true

[EDIT BY danbrown AT php DOT net: Contains a bug fix provided by (gmdebby AT gmail DOT com).]
jeremia at gmx dot at
28-Jan-2008 02:52
If you wan't to use the alternative syntax for switch statements this won't work:

<div>
<?php switch($variable): ?>
<?php
case 1: ?>
<div>
Newspage
</div>
<?php break;?>
<?php
case 2: ?>
</div>
Forum
<div>
<?php break;?>
<?php
endswitch;?>
</div>

Instead you have to workaround like this:

<div>
<?php switch($variable):
case
1: ?>
<div>
Newspage
</div>
<?php break;?>
<?php
case 2: ?>
</div>
Forum
<div>
<?php break;?>
<?php
endswitch;?>
</div>
spa
16-Oct-2007 11:40
[EDITOR'S NOTE: reference to deleted note removed]

The end_; structure sometimes makes it easier to tell which block statement end you are looking at.  It's much harder to tell which nested block a } belongs to than an end_;
skippy at zuavra dot net
27-Jun-2005 11:32
If it needs saying, this alternative syntax is excellent for improving legibility (for both PHP and HTML!) in situations where you have a mix of them.

Interface templates are very often in need of this, especially since the PHP code in them is usually written by one person (who is more of a programmer) and the HTML gets modified by another person (who is more of a web designer). Clear separation in such cases is extremely useful.

See the default templates that come with WordPress 1.5+ (www.wordpress.org) for practical and smart examples of this alternative syntax.

while> <elseif/else if
Last updated: Fri, 13 Nov 2009
 
 
show source | credits | sitemap | contact | advertising | mirror sites