制御文の種類

制御文の入れ子の変数は、$i、$j、$kの順で使うのが慣習。

if文

//パターン1
<?php 
$aaa=1;
if($aaa==1){
    echo("入力して下さい");
}
?>
//パターン2
<?php if($aaa==1): ?>
入力して下さい。
<?php endif; ?>

if else文、三項演算子

//パターン1
<?php 
$aaa=2;
if($aaa==1){
    echo("入力して下さい");
}else{
    echo("投稿完了しました");
}
?>
//パターン2
<?php if($aaa==1): ?>
入力して下さい。
<?php else: ?>
投稿完了しました。
<?php endif; ?>
//三項演算子
<?php 
$aaa=1;
$bbb= ($aaa==1) ? "入力してください" : "投稿完了しました";
    echo($bbb);
?>

if elseif文

//パターン1
<?php 
$aaa=2;$bbb=1;
if($aaa==1){
    echo("入力して下さい");
}elseif($bbb==1){
    echo("名前、住所、電話番号必須");
}else{
    echo("投稿完了しました");
}
?>
//パターン2
<?php if($aaa==1): ?>
入力して下さい。
<?php elseif($bbb==1): ?>
名前、住所、電話番号必須
<?php else: ?>
投稿完了しました。
<?php endif; ?>

for文

//パターン1
<?php 
$aaa=0;
for($i=0;$i<10;$i++){
    $aaa += $i;
}
echo($aaa);
?>
//パターン2
<?php for($i=0;$i<10;$i++): ?>
<?php $aaa+=$i; ?>
<?php endfor; ?>
<?php echo($aaa); ?>

while文

forにはない、値の正誤判定が可能。

//パターン1
<?php 
$i=0;$aaa=0;
while($i < 10){
    $aaa+=$i;
    $i++;
}
echo($aaa);
?>
//パターン2
<?php $i=0 ?>
<?php while($i < 10): ?>
<?php $aaa+=$i;$i++ ?>
<?php endwhile;?>
<?php echo($aaa); ?>

do while

whileと違い、条件判定は後なので最初の式は必ず実行される。

//パターン1
<?php
$aaa=10;
do{
    echo($aaa);
    $aaa--;
}while($a > 10); //10のみ表示
?>
//パターン2
do while文にはendを用いる文はない。

foreach文

配列の中身を変数に入れるときに使用

//パターン1
$aaa=["no1"=>"りんご","no2"=>"みかん"];
foreach($aaa as $key=>$atai){
    echo($key."は".$atai."です。<br />");
}
?>
//パターン2
<?php $aaa=["no1"=>"りんご","no2"=>"みかん"]; ?>
<?php foreach($aaa as $key=>$atai): ?>
<?php echo($key."は".$atai."です。<br />"); ?>
<?php endforeach;?>

switch文

ifelse文と同じ意味で、別の書き方。

//パターン1
<?php
$i=rand(0,5);
switch ($i) {
    case 0:
        echo "iは0に等しい";
        break;
    case 1:
        echo "iは1に等しい";
        break;
    case 2:
        echo "iは2に等しい";
        break;
    default:
       echo "iは0,1,2に等しくない";
}
?>
//パターン2
<?php switch($i): ?>
<?php case 0:?>
iは0に等しい
<?php break;?>
<?php case 1:?>
iは1に等しい
<?php break;?>
<?php case 1:?>
iは2に等しい
<?php break;?>
<?php default:?>
iは0,1,2に等しくない
<?php break;?>
<?php endswitch; ?>

コメントor補足情報orご指摘あればをお願いします。

(件名or本文内でキーワード検索できます)



  • << 前のページ
  • 次のページ >>
ページトップへ