SAK 図書館

SAK Streets メインストリート 図書館・カフェ 一覧 SAK Streets 検索
| VB | SQL | Perl | PHP | ASP | JSP | C | PC | HP | FAQ | フリーソフト |

PHP 基礎編2 - 制御構造(判定、ループ) if、switch、for、while、foreach、do

■条件式

  ・数値、文字列共に同じ比較演算子である。

  ==       等しい
  !=       等しくない
  <        より小さい
  >        より大きい
  <=       以下
  >=       以上

  ===      PHP4 - 値と型が等しい
  !==      PHP4 - 値と型が等しくない

  &&       and       (論理積)
  ||       or        (論理和)
  !        not       (否定)
  and      && と同じ (論理積)
  or       || と同じ (論理和)
  xor      排他論理和(エクスクルーシブオア)

  True     真
  False    偽

■if () 文    判断

  if (条件) {
    条件が真のとき
  }
  else {
    条件が偽りのとき
  }

  if (条件1) {
    条件が真のとき
  }
  elseif (条件2) {
    条件が偽りのとき
  }
  elseif (条件3) {
    条件が偽りのとき
  }
  else {
    全ての条件が偽りのとき
  }

  ・数値 1, 2 などは、C と同じく True(真) 扱いである。
    0 は False(偽り)。

  if ($a == 1) $b = 2;

  if ($a == 1) {
    $b = 2;
  }

  if ($a) {
    // $a が 2 でも真になるので注意
    $b = 2;
  }

  if ($a == 1 && $b == 2) {
    $c = 1;
  }

  if (strpos($a, 'key') != -1) {
    $c = 1;
  }

  if (($i = strpos($a, 'key')) != -1) {
    $c = substr($a, $i, strlen('key'));
  }

  ・最後の代入結果を評価の対象にする構文は C ではよく見かける。
    PHP でも使用可能である。

■switch ()  多重判定

  switch (式) {
    case 値1:
      break;
    case 値2:
      break;
    default:
  }

  switch ($a) {
    case 1:
    case 2:
      print "<P>case1</P>\n";
      break;
    case 3:
      print "<P>case2</P>\n";
      break;
    default:
      print "<P>case else</P>\n";
  }

  switch ($a) {
    case 'abc':
      print "<P>case1</P>\n";
      break;
    case 'def':
      print "<P>case2</P>\n";
      break;
    default:
      print "<P>case else</P>\n";
  }

  ・break; がないと、順に下の case に流れる。

■for ()   ループ

  for (初期値; 条件; 増分) {
    break;    // ループ脱出
    continue; // 次のループへ
  }

  for ($i = 1; $i <= 10; $i++) {
    $a[$i] = 2;
  }

  for ($i = 1, $j = 1; $i <= 10 and $j == 5; $i++, $j++) {
    $a[$i] = ++$j;
  }

  for (;;) {
    // 無限ループ
  }

■while () ループ

  while (条件) {
    条件が真のときループ
    break;    // ループ脱出
    continue; // 次のループへ
  }

■foreach  ループ (reset、while、each)

  $d = array('abc', 'def', 'ghi');

  reset($d);
  while ($a = each($d)) {
    print "<P>$a[0] - $a[1]</P>\n";
  }

  $d['key1'] = 'abc';
  $d['key2'] = 'def';
  $d['key3'] = 'ghi';

  reset($d);
  while ($a = each($d)) {
    print "<P>$a[0] - $a[1]</P>\n";
  }

■foreach  ループ (PHP4)

  $d = array('abc', 'def', 'ghi');

  foreach ($d as $a) {
    print "<P>$a</P>\n";
  }

  $d['key1'] = 'abc';
  $d['key2'] = 'def';
  $d['key3'] = 'ghi';

  foreach ($d as $a => $b) {
    print "<P>$a $b</P>\n";
  }

■do ()    ループ

  do {
    break;    // ループ脱出
    continue; // 次のループへ
    条件が真のときループ
  } while (条件);

  ・ループが一度は必ず実行される。

■exit     脱出

  exit;    // PHP 脱出
  return;  // 関数脱出

■PHP 基礎編資料
■PHP + MySQL 編資料
■CGI-Perl 基礎編資料
■CGI-Perl 基礎実地編資料
■CGI-Perl 応用実地編資料
| VB | SQL | Perl | PHP | ASP | JSP | C | PC | HP | FAQ | フリーソフト |

SAK Streets メインストリート 図書館・カフェ 一覧 SAK Streets 検索



Copyright (C) 1999-2017 Y.SAK