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

search for in the

while> <elseif/else if
[edit] Last updated: Sat, 07 Jan 2012

view this page in

제어 구조의 대체 문법

PHP는 제어 구조를 위해 대체 문법을 제공한다; 즉 if, while, for, foreach, 그리고 switch. 각 경우에 대체 문법의 기본형태는 괄호열기를 콜른 (:)으로 대체하고 괄호닫기는 각각 endif;, endwhile;, endfor;, endforeach;, 또는 endswitch;으로 대체한다.

<?php if ($a == 5): ?>
A는 5와 같다
<?php endif; ?>

위 예에서는 대체 문법으로 쓰여진 if구문안에 "A는 5와 같다" HTML 블록이 포함되어있다. 이 HTML 블록은 $a가 5와 같을때만 출력될것이다.

대체 문법은 elseelseif문에도 적용이 된다. 다음은 elseifelse문 과 같이 있는 if문 절의 대체 형태이다:

<?php
if ($a == 5):
    echo 
"a는 5와 같다";
    echo 
"...";
elseif (
$a == 6):
    echo 
"a는 6과 같다";
    echo 
"!!!";
else:
    echo 
"a는 5도 아니고 6도 아니다";
endif;
?>

더 많은 예는while, forif섹션에 있다.



while> <elseif/else if
[edit] Last updated: Sat, 07 Jan 2012
 
add a note add a note User Contributed Notes 제어 구조의 대체 문법 - [7 notes]
up
11
flyingmana
4 years ago
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
up
6
skippy at zuavra dot net
7 years ago
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.
up
10
temec987 at gmail dot com
1 year ago
A simple alternative to an if statement, which is almost like a ternary operator, is the use of AND. Consider the following:

<?php
     $value
= 'Jesus';

    
// This is a simple if statement
    
if( isset( $value ) )
     {
          print
$value;
     }

     print
'<br />';

    
// This is an alternative
    
isset( $value ) AND print( $value );
?>

This does not work with echo() for some reason. I find this extremely useful!
up
4
ej at iconcept dot fo
3 years ago
if statement in 1 line
<?php
$hour
= 11;

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

?>
return Good morning!
up
2
jeremia at gmx dot at
5 years ago
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>
up
-3
dmgx dot michael at gmail dot com
2 years ago
If you follow MVC design pattern then only your view files should have HTML in them to begin with.  Using the braceless syntax in these files only further separates them thematically from the rest of the code.

The major advantage of braceless syntax is that braces get lost while jumping into and out of php mode, especially if you use php short tags (which contrary to what is stated elsewhere, if you are using htaccess to deploy mod_rewrite in your application it is safe to use short tags in your application.  The server admins CANNOT deny short tags to you while simultaneously granting mod_rewrite (and why they would even try is beyond me).

Another thing I've noted in the examples above - it is safe to omit the ending semicolon prior to a script close tag, and it's slightly easier to read. <? endforeach ?> than <?php endforeach; ?>
up
-7
mido_alone2001 at yahoo dot com
4 years ago
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).]

 
show source | credits | stats | sitemap | contact | advertising | mirror sites