サイド上背景

サイトについて

リンクフリー

個人ご利用の場合はリンクフリーです。備忘録等に各種ドキュメントへのリンク。ご自由にご利用ください。

転載

出典元表記(当社名orリンク記載)の際は転載等ご自由にご利用ください。

ライセンス

このページの内容の一部は、Google が作成、提供しているコンテンツをベースに変更・複製したもので、クリエイティブ・コモンズの表 示 3.0 ライセンスに記載の条件に従って使用しています。

株式会社 Sola.com

ソラコムお問い合わせ

〒981-0913
宮城県仙台市青葉区昭和町3-7 スカイコート上杉601
TEL:022-234-9972
Fax:022-778-6779

きょうのことば

"

お互い知己のない四人の勇者がライオンと向かい合っても誰も戦おうとはしない。

互いの能力を知り合っている四人の弱者がライオンと向かい合えば、それぞれの得手で助け合って決然と戦う。

"

"Battle Studies"(1880) Ardant du Picq [松村2005]


コンテンツ背景
Home スタッフ雑記 sato PHP再入門16
PHP再入門16
<?php
$arr
= array( 1,2,3,4,5,6 );
foreach(
$arr as $value ){
  if(
$value == 4 ){
    break;
//$valueが4でループを抜ける
  
}
  echo
$value."<br>\n";
}
?>

出力結果

1
2
3


<?php
$i
= 0;
while(
$i <= 10 ){
  echo
$i."<br>\n";
  
$i++;

  switch(
$i ){
    case
3:
      break
1; //switch構造を抜ける 1は省略可能

    
case 7:
      break
2; //while構造まで抜ける
  
}
}
?>

出力結果

0
1
2
3
4
5
6


<?php
$arr
= array( 1,2,3,4,5,6 );
foreach(
$arr as $value ){
  if(
$value == 4 ){
    continue;
//$valueが4の処理をスキップ
  
}
echo
$value."<br>\n";
}
?>

出力結果

1
2
3
5
6


 

continue文でもオプションとして引数を渡す事ができ、ネスト(入れ子)したループ構造を強制的に抜ける事ができます。引数はcontinue文から見たループのレベルです。省略した場合は「1」とみなされ、現在の構造のみ抜けます。

<?php
$i
= 0;
while(
$i++ < 10 ){
  while(
$i <= 3 ){
    continue
2; //最初のwhile構造までをスキップ
  
}
  echo
$i."<br>\n";
}
?>

出力結果

4
5
6
7
8
9
10

上のサンプルは、もともと1から10までの数をカウントアップしながら表示するスクリプトですが、その中に3以下の数値はスキップする処理が入っているので出力は4からになります。

「continue 2」の方はそのcontinueから見た2番目の構造、つまり最初のwhile文をスキップする事になります。


いろいろな場所で使えるreturnですが、機能をまとめると「実行を終了する」「値を返す」という重要な機能を2つ持っている事になります。