
include を使って、次のふたつの処理を実行しようとしています。
include("a.php");
include("b.php");
$result_a=fun_a(1);
$result_b=fun_b(2);
さて、このとき、fun_a内で処理を中断した場合も、fun_bの処理も行わなければなりません。
fun_a内でexitを使用すると、それ以降のプログラムを実行しなくなったので、returnを使い
ました。すると、fun_a内で処理を中断しても、fun_bの処理が行えました。
結果的に、よかったのですが、こうしたincludeしたプログラム内で、処理を中断した場合も、
以降のプログラムを引き続き処理する場合には、returnを使うものなのでしょうか?
No.1ベストアンサー
- 回答日時:
処理全体を終了(exit)させるのはメインルーチンの仕事ですので、関数内でその関数の処理を終了させる場合はreturnで呼出元に処理を戻します。
関数内で何らかのエラーが発生して処理の実行が困難になった場合は、呼出元にエラーを知らせる戻り値を返してメインルーチン内で戻り値の判断を行って処理を終了させるか、関数内でExceptionを投げてメインルーチン内のエラー処理に事後の処理を委ねます。
おっしゃるとおり、exitは、メインルーチン内で使うものですね。関数内では、戻り値を書き込み、メインルーチン内で判断することにしますね。
No.3
- 回答日時:
関数はreturnで戻るのが基本です。
#exitで終わるくらいのケースなら、dieで止める方が多いと思います。
処理した結果どうだったか(ちゃんと処理できたかどうか)も含めて呼び出し元に返り値で戻します。returnを省略したらnullを返しますが、「何かあって中断した」のであれば、return false; などとして、あとで(必要があれば)見分けられるようにしておくべきです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# win10で、正確な待ち時間の作り方 6 2023/02/14 18:28
- CPU・メモリ・マザーボード PコアとEコアの使い分け 3 2023/07/30 22:09
- C言語・C++・C# C 言語の Gauss Jordan 法について 2 2022/12/28 11:16
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- 英語 Is to play soccer fun for you? は、正しい英文ですか? 1 2023/05/08 12:37
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- 大学院 修士論文の過ちを報告した際 2 2023/03/30 20:55
- JavaScript Typescript が必要な理由 1 2023/01/07 11:45
- PHP アップロード画像数でCSSを分けることに成功したのですが、画像の横に文字を並べることが出来ません。 3 2023/07/28 17:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPのif文でその処理を途中で抜...
-
PHPで文字列の検索
-
Cronで同じ処理を複数同時に実...
-
phpをオフラインで動かしたい
-
phpでお問い合わせフォームを作...
-
if文が入れ子の場合の条件の解釈
-
PHPがどうしても反映されません
-
Content-Typeが機能していない?
-
PHP関数mb_send_mailで送信する...
-
ApacheとPHPの連携
-
header関数について
-
初めまして、
-
ファイルシステム関数関係
-
下記のコードなのですが「C:\\H...
-
ブラウザのページキャッシュ機...
-
プログラミング作業効率を上げ...
-
マルチバイト関数
-
Xoops Cubeの設置がうまくゆき...
-
PHPでCSVファイルのデータを表...
-
サンプルソースのコロンの意味
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPのif文でその処理を途中で抜...
-
PHPが処理を途中でやめる。原因...
-
phpの処理中に画面表示ををする...
-
Smartyにて、文字検索
-
PHP内、ボタン押下と同時にリロ...
-
インスタンス化に伴うメモリ消...
-
フォームが送信されたかの確認...
-
APIで出てきたXMLをPHPで表示さ...
-
大量チェックボックスの実装方...
-
デバッグの仕方・・・
-
PHPの変わった閉じタグの必要性...
-
入れ子になっているHTMLタグも...
-
デフォルト、フロントコントロ...
-
タイムアウト時に次の処理へ移...
-
PHPで偶数と奇数を判断するには
-
CakePHPでのemptyの 0 判定に関...
-
Cronで同じ処理を複数同時に実...
-
チェックボックスをビット演算...
-
PHPの書き方について
-
条件分岐 if(elseif) switchの...
おすすめ情報